Fully integrated security and fire alarm system

In my current house I have a high-end (Scantronic) security alarm system for which I created an ESPHome interface to arm/disarm and monitor (works but rather primitive). For the house I’m renovating I want something stand-alone but fully connected to HA. Can’t find a high-end system with a good HA integration. So it’s going to be DIY.

I want a control panel (touch screen), PIR sensors (wired), smoke detectors (DIN 14676, wired), outside siren and flasher, inside siren. And of course full HA integration for remote control and monitoring.

So the plan is as follows:

  • KinCony TA
  • Nextion 5" touch screen (UART on the TA GPIO)
  • Pyronix KX10DP PIR sensors (digital inputs on the TA) (up to 12)
  • Ei650iC smoke detectors (wired interconnect to the TA GPIO) (up to 10)
  • Outside sounder/flasher TBD (relay 1 on the TA)
  • Inside siren TBD (relay 2 on the TA)
  • HA connection through LAN
  • 12V supply with battery backup TBD (for the TA, PIR sensors and sirens)
  • 5V supply (from the 12V) for the touch screen.

Intend to create ESPHome YAML code for the KinCony TA (that will be fun …). State machines for the security system (Disarmed, Armed-home, Armed-away, Entry-delay, Alarm, Alarm-silenced, Fault, Test) and for the smoke detection (Clear, Alarm, Alarm-silenced, Fault, Test).

The PIR sensor connections are very straight forward. I prefer wired, no low battery warnings in the middle of the night, no range issues, no RF pollution). I could use the tamper contacts, but I’m not sure if I will bother.

Finding suitable smoke detectors that meet the German requirements was not easy. They have to have a battery backup, very few have wired interconnect. The Ei650iC has a two wire interconnect (signal and ground), when one detector pulls the signal to ground that triggers the other detectors. I intend to use that slightly different and connect each detector to its own GPIO (open drain) on the TA. Then I can detect which detector triggers and then trigger the other in s/w if I want to.

With HA I will be able to arm and disarm, but also f.i. trigger lights (my other large project for this renovation, 3 Siemens logo! PLCs connected to HA over LAN to control all the lights in the house) etc.

Looking for comments and warnings to make this project a success.

Hi

For our customers we use the Satel system (Integra line) that integrates perfectly with HA, you have status of all sensors, and can arm/disarm, can also control outputs and it’s all local (direct encrypted communication through LAN between the alarm system and HA).
We have no interest with Satel companies but their products work great and quite cheap !

If it can help :wink:

Vincèn

I’m checking that out right now. Thank you.

As far as I can tell, the Satel smoke detector does not meet the German requirement of local battery backup. I was on the track of having 12V smoke sensors with a central supply from the alarm panel with battery backup, but that is apparently not conform.

For wired one you are right, they don’t have a local battery backup but normally your alarm system is supposed to work 24/24 :wink:
Gernamy enforces use of battery backup for wired fire detectors ?

Yes it does (DIN 14676). 230V detectors must have a BU battery. In commercial settings a low voltage supply system with central backup is allowed but must be separately certified.

I understand and makes sense for sensors powered by main power but does it apply also for sensors with low voltage power that is backuped ? as the 12V from the alarm system is backuped by batteries so even if the backup power is not local it still has backuped power.

I wanted to check the norm you indicated but could find it only in german :frowning:

That’s what I thought, the problem is that that battery backup is not certified as part of the detector, hence the need for separate certification.

Germany is rather strict. F.i. I’m not allowed to hang up a lamp, specifically to connect the wires, has to be done by a certified and registered master electrician …

wow worse than North Korea :joy:

Probably for the best.

1 Like

Waiting for the hardware. Playing around with the Nextion Editor. Bit of a learning curve, but very nice. Three pages; Standby, Active and Test. I like the UI to be very plain.



Did you ever complete your TA alarm system? I’m thinking about using the same thing to replace my current alarm panel. Is there anything you could share?

I have made very good progress.

The TA programming and the Nextion display programming is virtually done. I have three zones for PIR, smoke detector inputs, user codes, a walk test, a log, … It was a bit more involved than I anticipated, over 2000 lines of ESPHome yaml code (so far).

I must still do the interface with HA and the HA dashboard, and still want to add code to be able to set parameters (user codes etc.) straight from the Nextion display (now through ESPHome editing).

But I had to put this project aside for a bit to spend time on the actual renovation of the new house.

Nothing concrete to share at this point, other than that is very feasible and cool. Much nicer than the average alarm panel.

Hi
Thanks for sharing. I’m messaging with Kincony about the TA. I want them to add a SIM7600 module so I can have a failover connection with my monitoring service. What are you using for remote monitoring?

Would like to see any code you’d like to share. Are you using a Github account that I could look at what you’ve accomplished? Your progress looks great. Makes me rethink using a simple Weigand keybook. Is your use case to replace a current wired alarm?

Hope to hear from you soon.

I won’t have, don’t want remote monitoring other than by myself. No paid service. I monitor with HA.

Not using Github, I’m not that advanced. Not ready to share anything at this point.

My use case is a new house, complete renovation, instead of the Scantronic hybrid I sold with my old house. The offer for a new Scantonic system was ridiculous. I think I go all wired for the PIRs. I do have the 433 Mhz unit, and (given time) I will experiment with that, Using all pyronix PIR sensors.

Ok. I’ll keep watching for a project update. Can you share which Nextion display you purchased. And should I create my own code for it or are you planning on offering it?

I have been doing some research on the Nextion display and I can’t seem to understand how it will talk to the TA. Can you enlighten me? How arez requests from it processed by the ESP32 in the TA? Hopefully, it isn’t going to need Home Assistant…

It’s actually quite simple running ESPHome on the TA.

Here are some snippits:

To react to touch events:


display:
  - platform: nextion
    id: ta_display
    uart_id: uart_nextion

    brightness: 50%

    # Initialize the display timeout, will be restarted with every touch event
    on_setup:
      then:
        - script.execute: update_display
        - script.execute: display_timeout_script
  
    # Handle the display key strokes
    on_touch:
      then:
        - lambda: |-
            // Handle button presses depending on the current page shown on Nextion
            switch (page_id) {

              case 0:  // "Standby" page
                switch (component_id) {
                  // wake up button, restore brightness
                  case 3: id(ta_display).set_backlight_brightness(id(nextion_brightness_control).state); break;

                  default: break;
                }
                break;

              case 1:  // "Active" page - main alarm control
                switch (component_id) {
                  // Number keys 0-9 (Nextion component IDs 2-11)
                  case 2:  id(append_digit).execute(0); break;
                  case 3:  id(append_digit).execute(1); break;
                  case 4:  id(append_digit).execute(2); break;
                  case 5:  id(append_digit).execute(3); break;
                  case 6:  id(append_digit).execute(4); break;
                  case 7:  id(append_digit).execute(5); break;
                  case 8:  id(append_digit).execute(6); break;
                  case 9:  id(append_digit).execute(7); break;
                  case 10: id(append_digit).execute(8); break;
                  case 11: id(append_digit).execute(9); break;

                  // Command keys A,B,C,X,T & ? (Nextion component IDs 13,14,15,17,19 & 20)
                  case 13: { id(handle_command).execute("arm_zone_a");      break; }
                  case 14: { id(handle_command).execute("arm_zone_b");      break; }
                  case 15: { id(handle_command).execute("arm_zone_c");      break; }
                  case 17: { id(handle_command).execute("disarm");          break; }
                  case 19: { id(handle_command).execute("start_walk_test"); break; }
                  case 20: { id(handle_command).execute("show_log");        break; }

                  default: break;
                }
                break;


and to write the text field called 'log' on the page called 'Events':

  # Write the log to the display
  - id: write_event_log
    then:
      - lambda: |-
          id(ta_display).send_command("page Events");
          ESP_LOGI("Command", "Write Event Log");
      - delay: 100ms

      - lambda: |-
          std::string cmd = "log.txt=\"" + id(event_log) + "\"";
          id(ta_display).send_command(cmd.c_str());

This is the display I’m using. Happy I went for the 7 inch.

Thanks. For some reason I thought the display operated as a standalone device. Now I’m really interested in seeing your progress. Please let me know if there is anything I can do to help. Wow, this looks really promising.

Any update on your progress?