ESP8266 into existing alarm DSC System

I’m using the power series 1832 board.

I’m a bit confused with how there are a few different hardware methods to make this work. With the little MOSFET board I used, I only connected two of the digital pins (18, and 19) but I see others using a third pin for theirs.

Should I be following this image instead?

The mosfet version is better as it has better signal quality and isolation as well as being the simplest. Your wiring looks fine but your logs don’t show the correct data. You only need 2 wires for the mosfet version as it is bidirectional (does read/write using the same pin). Double check that your pinouts match your wiring, that’s the only other thing I can think of that would be an issue.

Edit, it looks like you have the 18/19 connections reversed on the esp. Ie you have the yellow going to pin 18, and green to pin 19 on the esp. Just change the pin definitions in the yaml config. Clock=18, read/write=19

Oh, so simple! That worked, Thank you!

Hi Alain,

esphome throws an error on compile with this commit from yesterday:

src/esphome/components/dsc_alarm_panel/dscAlarm.cpp:151:10: error: no declaration matches 'void esphome::alarm_panel::DSCkeybushome::set_panel_time_manual(int32_t, int32_t, int32_t, int32_t, int32_t)'
151 | voidDSCkeybushome::set_panel_time_manual(int32_t year, int32_t month, int32_t day, int32_t hour, int32_t minute)
| ^~~~~~~~~~~~~
In file included from src/esphome/components/dsc_alarm_panel/dscAlarm.cpp:3:
src/esphome/components/dsc_alarm_panel/dscAlarm.h:400:12: note: candidate is: 'void esphome::alarm_panel::DSCkeybushome::set_panel_time_manual(int, int, int, int, int)'

400 | voidset_panel_time_manual(int year, int month, int day, int hour, int minute);
| ^~~~~~~~~~~~~~~~~~~~~
src/esphome/components/dsc_alarm_panel/dscAlarm.h:263:7: note: 'class esphome::alarm_panel::DSCkeybushome' defined here

263 | classDSCkeybushome : public api::CustomAPIDevice, public time::RealTimeClock
| ^~~~~~~~~~~~~
Compiling .pioenvs/dscalarm/src/esphome/core/scheduler.cpp.o
Compiling .pioenvs/dscalarm/src/esphome/core/static_task.cpp.o
Compiling .pioenvs/dscalarm/src/esphome/core/time.cpp.o
Compiling .pioenvs/dscalarm/src/esphome/core/util.cpp.o
Compiling .pioenvs/dscalarm/src/esphome/core/wake.cpp.o
Compiling .pioenvs/dscalarm/src/main.cpp.o
Compiling .pioenvs/dscalarm/lib185/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c.o
Compiling .pioenvs/dscalarm/lib185/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.o
*** [.pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscAlarm.cpp.o] Error 1

Should be fixed now. I missed a header file when I pushed the last update on main branch.

Many thanks for the quick fix Alain!

It works! Great !
Chapeau bas! :clap: :clap: :clap: