logo elektroda
logo elektroda
X
logo elektroda

Satel CA10 to Domoticz via MQTT: Anyone Tried Voyo's GitHub Code?

xury 1599 14
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
  • Helpful post
    #1 18481814
    xury
    Automation specialist
    On the Domoticz forum, a certain colleague voyo posted a post in which he reports that he has written a program that takes events from the CA10 control panel and sends them as MQTT messages so that we can use these events in smart home systems such as Domoticz or Home Assistant.
    I have not personally tested it yet. The source code is available on github.
    You have to compile it yourself using gcc
    https://github.com/voyo/satel2mqtt
    The author has used the event printing function from the control panel. He processes the events into Mqtt messages. Perhaps the programme can also work with older CA6 control panels.
  • ADVERTISEMENT
  • #2 20240022
    jonczykp
    Level 11  
    Unfortunately this does not work for me for the CA10, you have to put the alarm on silent mode, which in my case causes the alarm to sound normally. Does anyone have any experience here?
  • #4 20460887
    xury
    Automation specialist
    I see that you using keypad bus - wow.
    I found that Zone 7 LED has two bits - B12 and B21 ?
    Unfortunately I can't test it since I had no access to any CA6 right now.
  • #5 20460891
    GSzabados
    Level 9  
    When zone 7 LED is on, it changes two bits from the 32 bits.

    My guess it is due to the fact that the keypad has Zone 7, the panel has only Zone 1 to 6, the keypad works as an extension and adds Zone 7 and Zone 8.
  • ADVERTISEMENT
  • #6 20461337
    pjonczyk72
    Level 6  
    Do you think it can work for CA10? I could try too.
    Using a keypad is a really good idea to get all info I need from my CA10. I wanted to spend some time on it but I was not sure about keypad communication protocol but it seems the protocol is easy, just 32 bits are sent to keypad.
  • #7 20461353
    GSzabados
    Level 9  
    pjonczyk72 wrote:
    Do you think, it can work for CA10? I could try too.
    .

    I have a CA6 P. And it is a hobby project only to integrate the sensors into Home Assistant. The code basically reads the messages sent to the keypad, where the keypad sets the LEDs according to the message. The electronics inside the keypad is quite simple, old. The link in Github has some photos of it, and references to the chips inside. The messages are straightforward, for example if a LED is flashing, the actual bit changes from 0 to 1 and back to 0 every half second or second.

    I am not an expert of the CA10 at all, but I think, I might have read somewhere on this forum, that some keypads were compatible with both CA6 and CA10, when the firmware of the CA10 was below some version. The topic was about a burnt keypad, I believe.

    Added after 23 [minutes]: .

    pjonczyk72 wrote:
    Do you think, it can work for CA10? I could try too.
    Using a keypad is a really good idea to get all info I need from my CA10. I wanted to spend some time on it but I was not sure about keypad communication protocol but it seems the protocol is easy, just 32 bits are sent to keypad.
    .

    So, to be honest, I am not sure that the CA10 would use the same communication method, but the KLED keypads were compatible to the CA6 according to this topic.

    https://www.elektroda.pl/rtvforum/topic3568522.html#17877010

    But meanwhile the CA10 had a keypad with an LCD as well, so that probably means the protocol was extended for the LCD.

    I used a cheap 8 channel logic analyser first to read the clock and data signal. If it has similar way to communicate, it possibly can be reverse engineered. But with the CA6, there wasn't any encryption to the keypad. I don't know how is with the CA10 keypad. I did a research on that subject before I tried to decode the data signal.
  • #8 20483551
    pjonczyk72
    Level 6  
    I've connected my Ca10, the same way you did and I used your software to create a similar for ca10. I see it might not be so easy.
    Additionally, it is not easy to identify when a new frame is coming. Adding excel to with results to understand the time CLC pin and data pin values. It seems Hz is the same but the protocol might be different or encrypted.
  • #9 20484925
    GSzabados
    Level 9  
    pjonczyk72 wrote:
    but the protocol might be different or encrypted.


    Which keypad do you have? The one with the display or the one with LEDs only (KLED or K-LEDS)? The one with the display seems to have a dedicated chip built in so the communication would be different. The LED ones seem to be quite similar. Do you have any picture of the PCB of the keypad?

    I found only these images of the KLED from inside, but on this it looks like it is a CA6 keypad (no zones above 8). Actually, the PCB looks the same, so the communication would be the same to control the LEDs on it.

    https://sprzedajemy.pl/manipulator-led-satel-ca-10-kled-poznan-2-0010c9-nr61339881

    To look at the communication, it is better to start with the logic analyser and Sigrok PulseView. I looked at your spreadsheet, and it seems quite different from what I have seen from the CA6. Or somewhere the timing is off.

    https://allegro.pl/oferta/analizator-stanow-logicznych-saleae-8-kanalow-24m-9634011777
  • ADVERTISEMENT
  • #10 20540082
    pjonczyk72
    Level 6  
    I needed some time and finally, I connected the logic signal analyser.
    You are right the protocol seems to be the same. It was my mistake, I had changed CLC and DATA cable. Thanks for your help.
    I needed to adopt your program to run on ESP mini but it seems everything is working fine.
    Please see my LEDs mappings (my led numeration starts from 0 to 31). The minor difference compared to your findings.
    int LEDBits[] =
    {31, 29, 27, 25, 15, 13, 11, 9, //sensor/led 1 to 8
    -1, -1, -1, -1, -1, -1 ,-1, -1,
    19, //malfunction led
    21, //zone1 active led
    17, //zone2 active led
    23 //alarm LED
    };
  • #11 20552923
    GSzabados
    Level 9  
    pjonczyk72 wrote:
    I needed some time and finally, I connected the logic signal analyser.
    You are right the protocol seems to be the same. It was my mistake, I had changed CLC and DATA cable. Thanks for your help.
    I needed to adopt your program to run on ESP mini but it seems everything is working fine.
    Please see my LEDs mappings (my led numeration starts from 0 to 31). The minor difference compared to your findings.
    int LEDBits[] =
    {31, 29, 27, 25, 15, 13, 11, 9, //sensor/led 1 to 8
    -1, -1, -1, -1, -1, -1 ,-1, -1,
    19, //malfunction led
    21, //zone1 active led
    17, //zone2 active led
    23 //alarm LED
    };
    .

    So you are saying that led 1 to 4 in order of 31, 29, 27, 25. Where I recognised led 3 and 4 as 25 and 27 (opposite order). I will check this once again. But I actually use that mapping, and seems to be the correct zone for me.

    Led 5 to 8 is 15, 13, 11, 9. That matches mine except, I couldn't identify sensor 8 on my alarm as it is not wired. (I haven't taken the time to remove the keypad and check it...)

    I need to check the rest of it, but for me the Power LED and the Trouble (Malfunction - Failure) was correct. And actually looking at this picture, now I understand that Alarm on this panel matches with the Power on mine. So everything matches there.

    https://a.allegroimg.com/original/1ea147/92b326d04a8099a28cab5a969509

    I have no idea about the Zone 1 and 2 LEDs, because I haven't managed to trigger them.

    Thanks for updating me. If you want post your changes on GitHub as a PR, I will see how I can implement it aside for the CA10.
  • #12 20633101
    voyo
    Level 12  
    jonczykp wrote:
    However, this does not work for me for the CA10, you have to switch the alarm on in silent mode, which in my case causes the alarm to sound normally. Does anyone have any experience here?
    .

    I am the author of the program. It works fine for me, but configuration is required:
    an additional zone (even without assigned detectors), and on it to enable "silent alarm" and printing of logs. Unfortunately (sadly) I no longer have access to the CA10, I am unable to give the exact steps on how to configure this. There is an Integra 256 waiting in the task queue ;) .

    The assumption was to grasp the subject of integrating this old control panel with something more intelligent, and only programmatically - without having to build some sort of system. Theoretically, any control panel capable of more zones, silent alarms and log printing should be able to cope with this.
    My colleague @GSzabados approached the subject in a different way; it seems to me that his method should also work with CA10, as keypads between these old control panels were partly compatible.
  • ADVERTISEMENT
  • #13 20633105
    GSzabados
    Level 9  
    @voyo, the whole idea behind my solution was to be able to integrate the Satel CA6 into Home Assistant. The CA6 hasn't got the printing functionality like the CA10 and not other easy way to expose any states, but by programming an output relay, maybe hacking together something with the GSM module and running a GSM Alarm centre? That was too far from me.
    The communication between the keypad and the alarm seemed to be an easier solution.
  • #14 20633110
    voyo
    Level 12  
    @GSzabados Yes, I agree - if CA6 does not have the possibility to print logs, this is the easiest way to do such integration. Especially if the communication between the keyboard is not encrypted in any way.
    Good work!

Topic summary

The discussion revolves around integrating the Satel CA10 control panel with smart home systems like Domoticz and Home Assistant via MQTT, utilizing a program developed by a user named voyo. The program captures events from the CA10 and converts them into MQTT messages. Users report mixed experiences; some have difficulty getting it to work, particularly needing to set the alarm to silent mode, while others have successfully adapted the code for the CA6 model. There are discussions about the compatibility of keypads between CA6 and CA10, with some users exploring the communication protocols and LED mappings. The conversation also includes references to using logic analyzers for troubleshooting and adapting the code for different hardware setups.
Summary generated by the language model.
ADVERTISEMENT