ESP8266 into existing alarm DSC System

Thank you for the update :slight_smile:

May have found a small bug.

I remove entities that aren’t relevant to my system as I go i.e. not all at once. After compiling and rebooting, the line2 partition 1 entity line sometimes show as such :

It seems completely random i.e. earlier it showed z(one)12.

A reboot or 2 fixes it. So no biggy. Just thought it worth mentioning

I suspect it’s an issue with your yaml configuration. Please post what you have setup for the l2_1 sensor.

Here we go

# partition 1
  - platform: dsc_alarm_panel
    id: ln1_1  
    name: "line1 partition 1"
    icon: "mdi:alert-box"

  - platform: dsc_alarm_panel
    id: ln2_1  
    name: "line2 partition 1"
    icon: "mdi:alert-box"  

Honestly no unusual changes. I copied and pasted the latest yaml ( I haven’t done a code update since originally installing many moons ago as it ā€œjust worksā€ :slight_smile: ), renamed the zones and installed. I then started removing / hashing out entities that weren’t relevant as and when I discovered them

852 / 5.000
It’s a great project, @Dilbert66. I’m testing it. I only have one error. I tried it first with an ESP2866 and then with an ESP32. Which works a little better. I’m using a DSC586 panel. I made two different electronics boards, and the only error I have is when I disarm the alarm, the ESP32 restarts and gives me the following message: ā€œSwitched to ESP module start.ā€ But you send me all the events. For example, if a zone is triggered, it notifies me and it works great. I only have that error.
And in the debug, it only restarts. I analyzed the logs with chatgpt and came to the conclusion that after the alarm is disarmed, the ESP32 waits for a code and when it doesn’t receive it, it hangs.

It worked well, only in that case, it restarts.

I also wanted to implement it on a DSC 1550. I know they are old.

Which serial works best, the DSC 1808/1816/1832?
thanks a lot

Hi everyone, excellent project @Dilbert66! I’m having the same issue as @FedeCar. I haven’t been able to solve it. I’ve tried using both the Wemos D1 Mini and the NodeMCU with the same result: I can see the data transmission in the ESPHome logs, but when arming or disarming the alarm from the DSC keypad, the Wemos or NodeMCU reboots, losing the Wi-Fi connection and the DSCKeybus link. I’ve ruled out power supply issues since I’m using the isolated connection version.

I hope someone can help me out. Thanks in advance!

No way to know what is going on unless I see serial logs. Please post some logs from a serial connection. Not the wifi console as those will not show the reboot sequence. Also note, that an ESP8266 is very limited in ram so that could be an issue. I always recommend using an ESP32. Again, everything is a guess unless we see logs. Make sure to edit out your disarm code from the logs though.

Hey guys, after leaving it connected for 10 hours, the esp32 no longer failed. I didn’t touch anything.

The reset error when disarming the alarm no longer occurs (I’ll keep testing it).
If I encounter errors again, I’ll connect to the esp32 via USB to share the data.

Version:
ESPHome 2025.7.4
Home Assistant OSCore 2025.7.4 Supervisor
2025.07.2 Operating System 16.0
The panel would be DSC 585 and it would be working.

I still need to try DSC 1560, which I have in another location. I already have the board built.

@leaugu recommend using an ESP32 instead of an ESP8266 for DSC alarm integration.

PD: I also grounded the metal chassis of the DSC panel (near the transformer). Not sure if it helped, but after that, the data bus got stable. Might be worth trying.

Thank you very much.

FYI, my code does not work on the dsc classic series of alarms such as the PC1550. I have never implemented it as I do not have any such systems to test with… You would need to use the original arduino source version from taligents github (link on my site) for those unfortunately.

1 Like

Hi! Thank you very much for the reply. I’ve already ordered 3 ESP32 modules to run some tests. I’m sharing the serial log at the moment of the reboot (arming or disarming the alarm) from my Wemos D1 Mini.

On another note, I wanted to let you know that I’ve been testing Taligentx’s project—more specifically, the HomeAssistant-MQTT version using the Arduino IDE—and it works correctly without any issues on my Wemos D1 Mini.

Hi! Thank you very much for the reply. I’ve already ordered 3 ESP32 modules to run some tests.

Hello everyone! Indeed, the NodeMCU ESP32 module works wonderfully. I haven’t had any kind of issues—no random resets, everything works perfectly!!!. Thank you all very much!

So I have been struggling with your ESPHome code and trying to link it with my PC1550 for the last few hours. Can you add somthing in your readme file to mention that the classic series are not supported?

1 Like

I think it was first document here (under Unsupported security systems): https://github.com/Dilbert66/dscKeybusInterface. Though it was there years ago.

As a matter of fact, not only you are working on PC1550, I also have a DSC PC1550 security panel lying around and tried to interface it with ESPHome. I did make a very small progress but it broke compilation after I upgraded to ESPHome 7.0!

1 Like

I have added a note in the readme to indicate the missing support for the DSC Classic. I’ve never added it since I don’t have any to test with so would have been tricky to do.

Also, unfortunately the ESP8266 might not be able to run the current code base properly since ESPhome 2025.7 due to the fact that it has very limited ram and stack.

If you are still using an ESP8266, I highly recommended you switch to an ESP32. Any will do but I do like the ESP32C3 super mini with the bob-12009 level converter. See a further discussion on wkchick’s implementation here: ESP8266 into existing alarm DSC System - #649 by wkchick

It was working fine until now, but now I’ve modified the yaml file and the upload doesn’t work because it throws these errors.

Upgrade your esphome to the latest 2025.8 version.

1 Like

With the shift to esp32 and even ESPHome moving to default esp-idf from arduino framework due better support.
Are there any plans to migrate the code over to esp-idf?

Not at this time. I see no need for it at this point . I also have other custom components are used with the dsc component that would need migration. All will take time and effort.

Edit: Well, I spent a bit of time and was able to get the components to compile and work under both esp-idf and arduino platforms. Once I have the components polished up I will publish them to the ā€œdevā€ branch for more testing.

Updated all code and components to compile under framework: esp-idf as well as optimized memory use. Code available in ā€œdevā€ branch. Will update ā€œmasterā€ when things have been tested a bit longer and no issues crop up.