ESP8266 into existing alarm DSC System

Hi Alain.
You have made a tremendous project here. I’ve been enjoying this for 3+ years on a Olimex ESP32 POE-board and it has worked flawlessly! :clap:

Due to other ESP32 projects I had to upgrade my ESPHome docker install from a 2023.x version to version 2025.10.3.

I also thought that I should take advantage of your continuous development of this project and upgrade my existing ESP32-board with a later version of this project.

Unfortunately I have no success in building neither the master nor the dev-branch into a installable image.

I have used your yaml-files and adjusted them according to my setup, I have also tested tour config files unaltered to find out whether I may have introduced any typos in the config files but I can’t build this project even with the unaltered config files.

I have attached the last lines with errors from the build log using the master branch.
Any ideas?

Regards
Magnus

last lines of build log
Archiving .pioenvs/dscalarm/bootloader/esp-idf/soc/libsoc.a
Generating partitions .pioenvs/dscalarm/partitions.bin
Archiving .pioenvs/dscalarm/bootloader/esp-idf/micro-ecc/libmicro-ecc.a
Linking .pioenvs/dscalarm/bootloader.elf
Building .pioenvs/dscalarm/bootloader.bin
Creating ESP32 image...
Successfully created ESP32 image.
Linking .pioenvs/dscalarm/firmware.elf
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscExpander.cpp.o: in function `_ZN18dscKeybusInterface7dec2bcdEj':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscExpander.cpp:298: multiple definition of `_ZN18dscKeybusInterface7dec2bcdEj'; .pioenvs/dscalarm/src/dscExpander.cpp.o:/config/.esphome/build/dscalarm/src/dscExpander.cpp:305: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscExpander.cpp.o: in function `_ZN18dscKeybusInterface11setDateTimeEjhhhh':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscExpander.cpp:308: multiple definition of `_ZN18dscKeybusInterface11setDateTimeEjhhhh'; .pioenvs/dscalarm/src/dscExpander.cpp.o:/config/.esphome/build/dscalarm/src/dscExpander.cpp:315: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscExpander.cpp.o: in function `_ZN18dscKeybusInterface12processCmd70Ev':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscExpander.cpp:329: multiple definition of `_ZN18dscKeybusInterface12processCmd70Ev'; .pioenvs/dscalarm/src/dscExpander.cpp.o:/config/.esphome/build/dscalarm/src/dscExpander.cpp:340: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscExpander.cpp.o: in function `_ZN18dscKeybusInterface13setLCDReceiveEhh':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscExpander.cpp:343: multiple definition of `_ZN18dscKeybusInterface13setLCDReceiveEhh'; .pioenvs/dscalarm/src/dscExpander.cpp.o:/config/.esphome/build/dscalarm/src/dscExpander.cpp:354: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscExpander.cpp.o: in function `_ZN18dscKeybusInterface10setLCDSendEhb':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscExpander.cpp:357: multiple definition of `_ZN18dscKeybusInterface10setLCDSendEhb'; .pioenvs/dscalarm/src/dscExpander.cpp.o:/config/.esphome/build/dscalarm/src/dscExpander.cpp:368: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp.o: in function `_ZN18dscKeybusInterface16dscDataInterruptEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp:734: multiple definition of `_ZN18dscKeybusInterface16dscDataInterruptEv'; .pioenvs/dscalarm/src/dscKeybusInterface.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusInterface.cpp:685: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp.o: in function `_ZN18dscKeybusInterface17dscClockInterruptEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp:589: multiple definition of `_ZN18dscKeybusInterface17dscClockInterruptEv'; .pioenvs/dscalarm/src/dscKeybusInterface.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusInterface.cpp:535: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp.o: in function `_ZN18dscKeybusInterface4stopEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp:197: multiple definition of `_ZN18dscKeybusInterface4stopEv'; .pioenvs/dscalarm/src/dscKeybusInterface.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusInterface.cpp:119: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp.o: in function `_ZN18dscKeybusInterface12handleModuleEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp:367: multiple definition of `_ZN18dscKeybusInterface12handleModuleEv'; .pioenvs/dscalarm/src/dscKeybusInterface.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusInterface.cpp:294: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp.o: in function `_ZN18dscKeybusInterface18redundantPanelDataEPhPVhh':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp:564: multiple definition of `_ZN18dscKeybusInterface18redundantPanelDataEPhPVhh'; .pioenvs/dscalarm/src/dscKeybusInterface.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusInterface.cpp:502: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp.o:/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp:80: multiple definition of `_ZN18dscKeybusInterface9timer1MuxE'; .pioenvs/dscalarm/src/dscKeybusInterface.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusInterface.cpp:24: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp.o: in function `_ZN18dscKeybusInterface8validCRCEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp:574: multiple definition of `_ZN18dscKeybusInterface8validCRCEv'; .pioenvs/dscalarm/src/dscKeybusInterface.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusInterface.cpp:515: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp.o: in function `_ZN18dscKeybusInterface4loopEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp:229: multiple definition of `_ZN18dscKeybusInterface4loopEv'; .pioenvs/dscalarm/src/dscKeybusInterface.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusInterface.cpp:154: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp.o: in function `_ZN18dscKeybusInterface5writeEci':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp:397: multiple definition of `_ZN18dscKeybusInterface5writeEci'; .pioenvs/dscalarm/src/dscKeybusInterface.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusInterface.cpp:325: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp.o: in function `_ZN18dscKeybusInterface5writeEPKci':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp:390: multiple definition of `_ZN18dscKeybusInterface5writeEPKci'; .pioenvs/dscalarm/src/dscKeybusInterface.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusInterface.cpp:318: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp.o: in function `_ZN18dscKeybusInterface19processPendingQueueEh':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp:897: multiple definition of `_ZN18dscKeybusInterface19processPendingQueueEh'; .pioenvs/dscalarm/src/dscKeybusInterface.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusInterface.cpp:859: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp.o: in function `_ZN18dscKeybusInterface23processPendingResponsesEh':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp:851: multiple definition of `_ZN18dscKeybusInterface23processPendingResponsesEh'; .pioenvs/dscalarm/src/dscKeybusInterface.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusInterface.cpp:810: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp.o: in function `_ZN18dscKeybusInterface28processPendingResponses_0xE6Eh':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusInterface.cpp:909: multiple definition of `_ZN18dscKeybusInterface28processPendingResponses_0xE6Eh'; .pioenvs/dscalarm/src/dscKeybusInterface.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusInterface.cpp:873: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface11resetStatusEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:34: multiple definition of `_ZN18dscKeybusInterface11resetStatusEv'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:34: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface7setTimeEjhhhhPKch':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:59: multiple definition of `_ZN18dscKeybusInterface7setTimeEjhhhhPKch'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:59: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface17processPanel_0x16Ev':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:360: multiple definition of `_ZN18dscKeybusInterface17processPanel_0x16Ev'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:359: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface17processPanel_0x6EEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:440: multiple definition of `_ZN18dscKeybusInterface17processPanel_0x6EEv'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:439: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface17processPanel_0x87Ev':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:464: multiple definition of `_ZN18dscKeybusInterface17processPanel_0x87Ev'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:463: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface22processPanel_0xE6_0x1AEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:558: multiple definition of `_ZN18dscKeybusInterface22processPanel_0xE6_0x1AEv'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:557: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface18processReadyStatusEhb':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:852: multiple definition of `_ZN18dscKeybusInterface18processReadyStatusEhb'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:851: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface18processAlarmStatusEhb':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:862: multiple definition of `_ZN18dscKeybusInterface18processAlarmStatusEhb'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:861: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface22processExitDelayStatusEhb':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:872: multiple definition of `_ZN18dscKeybusInterface22processExitDelayStatusEhb'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:871: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface23processEntryDelayStatusEhb':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:882: multiple definition of `_ZN18dscKeybusInterface23processEntryDelayStatusEhb'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:881: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface25processNoEntryDelayStatusEhb':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:892: multiple definition of `_ZN18dscKeybusInterface25processNoEntryDelayStatusEhb'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:891: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface19processPanelStatus1Ehh':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:726: multiple definition of `_ZN18dscKeybusInterface19processPanelStatus1Ehh'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:725: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface19processPanelStatus2Ehh':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:741: multiple definition of `_ZN18dscKeybusInterface19processPanelStatus2Ehh'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:740: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface17processZoneStatusEhh':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:902: multiple definition of `_ZN18dscKeybusInterface17processZoneStatusEhh'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:901: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface17processPanel_0x27Ev':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:369: multiple definition of `_ZN18dscKeybusInterface17processPanel_0x27Ev'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:368: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface17processPanel_0x2DEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:417: multiple definition of `_ZN18dscKeybusInterface17processPanel_0x2DEv'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:416: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface17processPanel_0x34Ev':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:425: multiple definition of `_ZN18dscKeybusInterface17processPanel_0x34Ev'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:424: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface17processPanel_0x3EEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:433: multiple definition of `_ZN18dscKeybusInterface17processPanel_0x3EEv'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:432: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface22processPanel_0xE6_0x09Ev':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:534: multiple definition of `_ZN18dscKeybusInterface22processPanel_0xE6_0x09Ev'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:533: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface22processPanel_0xE6_0x0BEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:540: multiple definition of `_ZN18dscKeybusInterface22processPanel_0xE6_0x0BEv'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:539: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface22processPanel_0xE6_0x0DEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:546: multiple definition of `_ZN18dscKeybusInterface22processPanel_0xE6_0x0DEv'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:545: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface22processPanel_0xE6_0x0FEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:552: multiple definition of `_ZN18dscKeybusInterface22processPanel_0xE6_0x0FEv'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:551: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface17processPanel_0xE6Ev':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:520: multiple definition of `_ZN18dscKeybusInterface17processPanel_0xE6Ev'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:519: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface11processTimeEh':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:920: multiple definition of `_ZN18dscKeybusInterface11processTimeEh'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:919: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface23processAlarmZonesStatusEhhh':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:955: multiple definition of `_ZN18dscKeybusInterface23processAlarmZonesStatusEhhh'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:954: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface17processAlarmZonesEhhhh':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:935: multiple definition of `_ZN18dscKeybusInterface17processAlarmZonesEhhhh'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:934: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface19processPanelStatus4Ehh':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:794: multiple definition of `_ZN18dscKeybusInterface19processPanelStatus4Ehh'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:793: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface12processArmedEhb':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:971: multiple definition of `_ZN18dscKeybusInterface12processArmedEhb'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:970: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface18processPanelStatusEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:101: multiple definition of `_ZN18dscKeybusInterface18processPanelStatusEv'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:101: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface22processPanelAccessCodeEhhb':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:984: multiple definition of `_ZN18dscKeybusInterface22processPanelAccessCodeEhhb'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:983: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface19processPanelStatus0Ehh':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:601: multiple definition of `_ZN18dscKeybusInterface19processPanelStatus0Ehh'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:600: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface17processPanel_0xA5Ev':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:493: multiple definition of `_ZN18dscKeybusInterface17processPanel_0xA5Ev'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:492: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface19processPanelStatus5Ehh':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:824: multiple definition of `_ZN18dscKeybusInterface19processPanelStatus5Ehh'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:823: first defined here
/config/.esphome/platformio/packages/toolchain-xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: .pioenvs/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp.o: in function `_ZN18dscKeybusInterface17processPanel_0xEBEv':
/config/.esphome/build/dscalarm/src/esphome/components/dsc_alarm_panel/dscKeybusProcessData.cpp:572: multiple definition of `_ZN18dscKeybusInterface17processPanel_0xEBEv'; .pioenvs/dscalarm/src/dscKeybusProcessData.cpp.o:/config/.esphome/build/dscalarm/src/dscKeybusProcessData.cpp:571: first defined here
collect2: error: ld returned 1 exit status
*** [.pioenvs/dscalarm/firmware.elf] Error 1
======================== [FAILED] Took 1939.16 seconds ========================

I would suggest you try doing a “clean build files” for the device from the esphome dashboard first. It looks like you have some old data there that is conflicting.

Edit: I did find an issue with the arduino version on dev and fixed that. Master compiles fine.
For the dev version I would suggest using “framework: esp-idf”

Hi Alain,

After updating to the latest ESPHome yesterday (which also pulled the newest esphome-components@main as an external_component) the system now shows an empty/blank status during the transition from armed_home or armed_away back to disarmed. (Screenshot attached.)

I’m not sure which specific commit introduced this; my previous update was about a month old, so the regression likely occurred sometime within that window.

Pushed new update to fix it.

That was quick as usual! Thank you very much Alain!

Im planning to get a used DSC1832 for water flood monitoring with Home assistant. I am planning to use MANY Tane WS-1 Flood sensors connected to expansion modules (also used lol!). Does this “unusual” sensor can be monitored with your amazing esphome-dsckeybus project @Dilbert66 ? Or if you have better ways to monitor floods in basements or under sinks feel free to suggest!

I don’t see why not. From what I understand it works like a smoke detector (open loop 2 wire). I’m not familiar with them but if the panel sends out an alarm on it, it can be picked up. If needed, I can make adjustments to the code to support them.

Alternatively, I’m sure there are other sensors that can be monitored directly via esphome and homeassistant without needing to be wired into the panel but you’d have to read up on those as Im not familiar with what is out there.

Edit: had a quick look at a youtube video on it and it looks like it will work fine on any zone input but you will need a terminating resistor at the end as it’s an open loop device. You can then program the zone as zone type 19 (high water) with eol termination I believe and it will report like any other zone.

1 Like

@Dilbert66 Thank you for the quick reply! Very appreciated. I want battery less water sensors and thats the only ones I found that are also cheap. I will get some and test it out without forgetting about resistors. Thank you again @Dilbert66!

No worries. As to the loop, you might also be able to wire it as a normally open loop (like smoke detectors) with no resistor and it might work fine that way. Just ensure you program the zone loop type accordingly.

1 Like

Hi Dilbert, this new layout is amazing! I’m using the keyboard available in your branch in my Home Assistant. How can I install this new layout on my Lovelace card in Home Assistant as well? Could you give me instructions? Thank you very much!

The new dsc layout is currently only on the web keypad component. It’s not available yet for Home Assistant. Still a work in progress.

I am not used to working with diagrams. Can you please tell me where the ground and 3.3V that I highlighted in blue should be wired? Is external ground and 3.3v source really needed? Or only to the ESP32 ground pin and 3.3v pin is ok? I am powering the ESP32 with usb cable.

You don’t need to add any external power to the 3.3 pin but you do need to connect that pin to the mosfets. The +3.3 is just for reference in this case just like the GND symbol. You just need to ensure the black wire from the panel is connected to the gnd pin on the esp. I should revise that schematic to remove those labels as they are not needed and confusing.

I’ve added a new version of the card just for the dsc panel called “alarm-keypad-card-dsc.js”. It will load a basic configuration that you can tweak to suit your system.

After adding the card file to the dashboard resources, you can then add the card to the dashboard using the “add card” functionality.

1 Like

Thank you very much for your answer. I am not used to electronics but i have good programming skills. I am doing this alarm system project with my teen son so we hacve a project to develop skills. I think providing a getting started guide in pdf or video format would be a nice addition to your github. Anyway your work and project is very nice so do what you want lol! Thanks again for your reply.

Glad you are enjoying the project. As to extra documentation, I think I will leave that for others to contribute… :slight_smile: Software developers are not known to create great documentation for beginner users anyhow. Also, i’d rather spend more time fixing the code then writing documentation .

We will be happy to contribute for sure for a getting started guide when we will have succeded implementing it ourselves!