ESP8266 into existing alarm DSC System

Hey Guys,
Have soldered today a “frankenstein” interface with ESP8266 and a DC-DC step-down converter, monitoring works great, but no reaction to calling any services - arm, disar, keypress, etc. The interface does of course include the transistor thought. Could you please help me troubleshoot as I am very new to HA and my electronics skills are quite limited. Some thoughts:

  • I have tapped into the alarm control panel not directly, but at one of the keypads which is quite far away (1 floor away) from the main panel - long wires = additional resistance issue?
  • I have fed power from the same wire which is powering the keypad - voltage drops when trying to push a signal? Maybe I need to measure voltage to see - as I said I have used a DC-DC converter, set the output to 3.3V.

Any help would be appreciated!

Vytis

@vytis , my ESP32 is also one floor away from the DSC panel and I piggyback 2 ESP boards on the same DC-DC converter. As long as the ESP boards is closed to the DC-DC converter, it should not be an issue. The DC-DC converter will handle the voltage drop along the long wiring and still output 3.3V for the ESP boards.

Hey @Dilbert66 ! I have a quick question for you. I’ve seen a few projects now using the external_components to easily integrate custom components like this, where you only link to the git repo instead of having to copy files :

Is that something that sounds doable for this project? Not that it’s hard to install at all, I really love the whole project, but if it’s a simple change it’d be nice to only add 2 lines to the yaml and have everything up to date.

Yeah, figured that much already - connected the whole ESP8266 directly to the DSC panel - still same result, meaning reads all data from DSC ok, just trying to send commands results in no reaction. See log extract below.
Also one more Q - I see that the dev branch version contains much many more options, the code seems to be more optimized - I am new to github therefore not sure which one to use - the default one or any other? “Dev” is like “in development” meaning not fully polished for public use?

INFO Waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from dscalarm.local using esphome API
WARNING Can't connect to ESPHome API for dscalarm.local: Error resolving IP address: [Errno -5] No address associated with hostname
INFO Trying to reconnect to dscalarm.local in the background
INFO Successfully connected to dscalarm.local
[21:51:52][I][app:102]: ESPHome version 2023.2.4 compiled on Feb 25 2023, 21:48:42
[21:51:52][C][status_led:019]: Status LED:
[21:51:52][C][status_led:020]:   Pin: GPIO2
[21:51:52][C][wifi:504]: WiFi:
[21:51:52][C][wifi:362]:   Local MAC: C8:C9:A3:5B:9F:59
[21:51:52][C][wifi:363]:   SSID: [redacted]
[21:51:52][C][wifi:364]:   IP Address: 192.168.0.195
[21:51:52][C][wifi:365]:   BSSID: [redacted]
[21:51:52][C][wifi:367]:   Hostname: 'dscalarm'
[21:51:52][C][wifi:369]:   Signal strength: -80 dB ▂▄▆█
[21:51:52][C][wifi:373]:   Channel: 1
[21:51:52][C][wifi:374]:   Subnet: 255.255.255.0
[21:51:52][C][wifi:375]:   Gateway: 192.168.0.1
[21:51:52][C][wifi:376]:   DNS1: 212.59.1.1
[21:51:52][C][wifi:377]:   DNS2: 212.59.2.2
[21:51:52][C][logger:293]: Logger:
[21:51:52][C][logger:294]:   Level: DEBUG
[21:51:52][C][logger:295]:   Log Baud Rate: 0
[21:51:52][C][logger:296]:   Hardware UART: UART0
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Front door'
[21:51:52][C][template.binary_sensor:018]:   Device Class: 'door'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Garage door'
[21:51:52][C][template.binary_sensor:018]:   Device Class: 'door'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Back door'
[21:51:52][C][template.binary_sensor:018]:   Device Class: 'door'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Living room window'
[21:51:52][C][template.binary_sensor:018]:   Device Class: 'window'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Dining room window'
[21:51:52][C][template.binary_sensor:018]:   Device Class: 'window'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Family room window LF'
[21:51:52][C][template.binary_sensor:018]:   Device Class: 'window'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Family room window RF'
[21:51:52][C][template.binary_sensor:018]:   Device Class: 'window'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Basement windows'
[21:51:52][C][template.binary_sensor:018]:   Device Class: 'window'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Upstairs motion'
[21:51:52][C][template.binary_sensor:018]:   Device Class: 'motion'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Basement motion'
[21:51:52][C][template.binary_sensor:018]:   Device Class: 'motion'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Main floor motion'
[21:51:52][C][template.binary_sensor:018]:   Device Class: 'motion'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Front door alarm'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Garage door alarm'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Back door alarm'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Living room window alarm'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Dining room window alarm'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Family room window LF alarm'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Family room window RF alarm'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Basement windows alarm'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Upstairs motion alarm'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Basement motion alarm'
[21:51:52][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Main floor motion alarm'
[21:51:53][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Trouble Status'
[21:51:53][C][template.binary_sensor:018]:   Device Class: 'problem'
[21:51:53][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Battery Status'
[21:51:53][C][template.binary_sensor:018]:   Device Class: 'problem'
[21:51:53][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm AC Status'
[21:51:53][C][template.binary_sensor:018]:   Device Class: 'plug'
[21:51:53][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Panic Status'
[21:51:53][C][template.binary_sensor:018]:   Device Class: 'safety'
[21:51:53][C][template.binary_sensor:018]: Template Binary Sensor 'dscalarm Fire Status'
[21:51:53][C][template.binary_sensor:018]:   Device Class: 'safety'
[21:51:53][C][template.text_sensor:021]: Template Sensor 'dscalarm System Status'
[21:51:53][C][template.text_sensor:021]:   Icon: 'mdi:shield'
[21:51:53][C][template.text_sensor:021]: Template Sensor 'dscalarm Partition 1 Status '
[21:51:53][C][template.text_sensor:021]:   Icon: 'mdi:shield'
[21:51:53][C][template.text_sensor:021]: Template Sensor 'dscalarm Partition 2 Status '
[21:51:53][C][template.text_sensor:021]:   Icon: 'mdi:shield'
[21:51:53][C][template.text_sensor:021]: Template Sensor 'dscalarm Partition 1 Msg '
[21:51:53][C][template.text_sensor:021]:   Icon: 'mdi:alert-box'
[21:51:53][C][template.text_sensor:021]: Template Sensor 'dscalarm Partition 2 Msg '
[21:51:53][C][template.text_sensor:021]:   Icon: 'mdi:alert-box'
[21:51:53][C][template.switch:076]: Template Switch 'dscalarm Connection'
[21:51:53][C][template.switch:078]:   Icon: 'mdi:shield-link-variant'
[21:51:53][C][template.switch:098]:   Restore Mode: restore defaults to OFF
[21:51:53][C][template.switch:060]:   Restore State: NO
[21:51:53][C][template.switch:061]:   Optimistic: NO
[21:51:53][C][restart:076]: Restart Switch 'restart_switch'
[21:51:53][C][restart:078]:   Icon: 'mdi:restart'
[21:51:53][C][restart:098]:   Restore Mode: restore defaults to OFF
[21:51:53][C][mdns:108]: mDNS:
[21:51:53][C][mdns:109]:   Hostname: dscalarm
[21:51:53][C][ota:093]: Over-The-Air Updates:
[21:51:53][C][ota:094]:   Address: dscalarm.local:8266
[21:51:53][C][ota:097]:   Using Password.
[21:51:53][C][api:138]: API Server:
[21:51:53][C][api:139]:   Address: dscalarm.local:6053
[21:51:53][C][api:141]:   Using noise encryption: YES
[21:52:04][D][api:102]: Accepted 192.168.0.175
[21:52:05][D][api.connection:918]: Home Assistant 2023.2.5 (192.168.0.175): Connected successfully
[21:52:14][D][text_sensor:067]: 'dscalarm Partition 1 Status ': Sending state 'disarmed'
[21:52:17][D][text_sensor:067]: 'dscalarm Partition 1 Msg ': Sending state '01: Ready'
[21:52:24][D][text_sensor:067]: 'dscalarm System Status': Sending state 'online'
[21:53:14][D][text_sensor:067]: 'dscalarm Partition 1 Status ': Sending state 'disarmed'
[21:53:15][D][Debug22:247]: Panel command data: A5,00,23,0B,35,D0,00,00,D8,00
[21:53:15][D][Debug33:254]: Partition data 00: 81,01,00,00,00,00,00,00,00,00,01,00,00
[21:53:17][D][text_sensor:067]: 'dscalarm Partition 1 Msg ': Sending state '01: Ready'
[21:53:24][D][text_sensor:067]: 'dscalarm System Status': Sending state 'online'
[21:54:11][D][Debug22:247]: Panel command data: 27,00,81,01,00,C7,08,78,00,00
[21:54:11][D][Debug33:254]: Partition data 00: 81,01,00,00,00,00,00,00,00,00,01,00,00
[21:54:11][D][binary_sensor:036]: 'dscalarm Living room window': Sending state ON
[21:54:11][D][Debug22:247]: Panel command data: 05,00,81,02,00,C7,00,C7,00,C7
[21:54:11][D][Debug33:254]: Partition data 00: 81,02,00,00,00,00,00,00,00,00,01,00,00
[21:54:11][D][text_sensor:067]: 'dscalarm Partition 1 Msg ': Sending state '02: Stay zones open'
[21:54:12][D][Debug22:247]: Panel command data: 27,00,81,02,00,C7,00,71,00,00
[21:54:12][D][Debug33:254]: Partition data 00: 81,02,00,00,00,00,00,00,00,00,01,00,00
[21:54:12][D][binary_sensor:036]: 'dscalarm Living room window': Sending state OFF
[21:54:12][D][Debug22:247]: Panel command data: 05,00,81,01,00,C7,00,C7,00,C7
[21:54:12][D][Debug33:254]: Partition data 00: 81,01,00,00,00,00,00,00,00,00,01,00,00
[21:54:12][D][text_sensor:067]: 'dscalarm Partition 1 Msg ': Sending state '01: Ready'
[21:54:14][D][text_sensor:067]: 'dscalarm Partition 1 Status ': Sending state 'disarmed'
[21:54:17][D][text_sensor:067]: 'dscalarm Partition 1 Msg ': Sending state '01: Ready'
[21:54:18][D][Debug22:247]: Panel command data: 27,00,81,01,00,C7,08,78,00,00
[21:54:18][D][Debug33:254]: Partition data 00: 81,01,00,00,00,00,00,00,00,00,01,00,00
[21:54:18][D][binary_sensor:036]: 'dscalarm Living room window': Sending state ON
[21:54:18][D][Debug22:247]: Panel command data: 05,00,81,02,00,C7,00,C7,00,C7
[21:54:18][D][Debug33:254]: Partition data 00: 81,02,00,00,00,00,00,00,00,00,01,00,00
[21:54:18][D][text_sensor:067]: 'dscalarm Partition 1 Msg ': Sending state '02: Stay zones open'
[21:54:20][D][Debug22:247]: Panel command data: 27,00,81,02,00,C7,00,71,00,00
[21:54:20][D][Debug33:254]: Partition data 00: 81,02,00,00,00,00,00,00,00,00,01,00,00
[21:54:20][D][binary_sensor:036]: 'dscalarm Living room window': Sending state OFF
[21:54:20][D][Debug22:247]: Panel command data: 05,00,81,01,00,C7,00,C7,00,C7
[21:54:20][D][Debug33:254]: Partition data 00: 81,01,00,00,00,00,00,00,00,00,01,00,00
[21:54:20][D][text_sensor:067]: 'dscalarm Partition 1 Msg ': Sending state '01: Ready'
[21:54:24][D][text_sensor:067]: 'dscalarm System Status': Sending state 'online'
[21:55:14][D][text_sensor:067]: 'dscalarm Partition 1 Status ': Sending state 'disarmed'
[21:55:17][D][text_sensor:067]: 'dscalarm Partition 1 Msg ': Sending state '01: Ready'
[21:55:24][D][text_sensor:067]: 'dscalarm System Status': Sending state 'online'
[21:56:14][D][text_sensor:067]: 'dscalarm Partition 1 Status ': Sending state 'disarmed'
[21:56:17][D][text_sensor:067]: 'dscalarm Partition 1 Msg ': Sending state '01: Ready'
[21:56:24][D][text_sensor:067]: 'dscalarm System Status': Sending state 'online'
[21:56:43][I][ota:113]: Boot seems successful, resetting boot loop counter.
[21:57:14][D][text_sensor:067]: 'dscalarm Partition 1 Status ': Sending state 'disarmed'
[21:57:15][D][Debug22:247]: Panel command data: A5,00,23,0B,35,E0,00,00,E8,00
[21:57:15][D][Debug33:254]: Partition data 00: 81,01,00,00,00,00,00,00,00,00,01,00,00
[21:57:17][D][text_sensor:067]: 'dscalarm Partition 1 Msg ': Sending state '01: Ready'
[21:57:24][D][text_sensor:067]: 'dscalarm System Status': Sending state 'online'
[21:58:14][D][text_sensor:067]: 'dscalarm Partition 1 Status ': Sending state 'disarmed'
[21:58:17][D][text_sensor:067]: 'dscalarm Partition 1 Msg ': Sending state '01: Ready'
[21:58:24][D][text_sensor:067]: 'dscalarm System Status': Sending state 'online'
[21:59:14][D][text_sensor:067]: 'dscalarm Partition 1 Status ': Sending state 'disarmed'
[21:59:17][D][text_sensor:067]: 'dscalarm Partition 1 Msg ': Sending state '01: Ready'
[21:59:24][D][text_sensor:067]: 'dscalarm System Status': Sending state 'online'
[22:00:14][D][text_sensor:067]: 'dscalarm Partition 1 Status ': Sending state 'disarmed'
[22:00:17][D][text_sensor:067]: 'dscalarm Partition 1 Msg ': Sending state '01: Ready'
[22:00:24][D][text_sensor:067]: 'dscalarm System Status': Sending state 'online'

use the “dev” branch. It’s been a while since I tested the master branch so it might have some issues.

Got you, that was what I thought. However dev branch version returns many more gaps “out of the box” - many more “unknown”, etc. - assume I need to customize the code. But which parts exactly?

Also I cannot figure out the reason why I cannot send commands to the panel, just read the status. Any suggestions on how to troubleshoot? The log is much less verbose with dev version, but at least I can see some intention to send commands to the DSC panel, even though it does not give any effect.

[22:47:28][I][Paneldata: :994]: 00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[22:47:28][I][Paneldata: :994]: 00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[22:47:28][D][text_sensor:067]: 'dscalarm System Status': Sending state 'offline'
[22:47:28][D][text_sensor:067]: 'dscalarm zone status ': Sending state ''
[22:47:28][D][text_sensor:067]: 'dscalarm Trouble Msg ': Sending state ''
[22:47:28][D][text_sensor:067]: 'dscalarm event': Sending state ''
[22:47:29][D][text_sensor:067]: 'dscalarm zone status ': Sending state ''
[22:47:58][D][text_sensor:067]: 'dscalarm event': Sending state ''
[22:48:14][D][text_sensor:067]: 'dscalarm System Status': Sending state 'offline'
[22:48:15][D][text_sensor:067]: 'dscalarm event': Sending state ''
[22:48:18][D][text_sensor:067]: 'dscalarm beeps': Sending state '0'
[22:48:21][D][text_sensor:067]: 'dscalarm partition 2 beeps': Sending state '0'
[22:48:22][D][text_sensor:067]: 'dscalarm Trouble Msg ': Sending state ''
[22:48:28][I][Paneldata: :994]: 00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[22:48:28][I][Paneldata: :994]: 00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[22:48:28][D][text_sensor:067]: 'dscalarm System Status': Sending state 'offline'
[22:48:28][D][text_sensor:067]: 'dscalarm zone status ': Sending state ''
[22:48:28][D][text_sensor:067]: 'dscalarm Trouble Msg ': Sending state ''
[22:48:28][D][text_sensor:067]: 'dscalarm event': Sending state ''
[22:48:29][D][text_sensor:067]: 'dscalarm zone status ': Sending state ''
[22:48:29][D][test:925]: code=,alarmCode=
[22:48:29][D][debug:927]: Setting Alarm state: A to partition 1
[22:48:29][D][debug:945]: Arming away

There is something wrong with your hardware interface. You should not be seeing zeroes.

Different scenario. My code is a C++ library to be used as a generic component, not a python custom component . I suppose I could set it up with a library.json file so it could be used with the library: config parameter but I have not gotten around to playing around with this. Too many projects on the go.

That’s perfectly fine, I did not know enough about how this worked so i figured i’d just ask. Thanks for your time either way, keep up the awesome work.

Ok, figured the zeros part out - ESP32 pins were defined in the config instead of ESP8266. Now statuses of zones are being read correctly. But still cannot send commands to the panel… Can someone help me troubleshoot please? :slight_smile: :pleading_face:

[11:49:42][D][text_sensor:067]: 'dscalarm beeps': Sending state '0'
[11:49:43][D][text_sensor:067]: 'dscalarm partition 2 beeps': Sending state '0'
[11:49:44][D][text_sensor:067]: 'dscalarm zone status ': Sending state ''
[11:49:44][I][Paneldata: :994]: E6: E6 00 2C 40 00 00 00 00 52 00 00 00 00 00 00 00 
[11:49:45][D][text_sensor:067]: 'dscalarm event': Sending state ''
[11:49:46][I][Paneldata: :994]: 11: 11 00 AA AA AA AA AA AA AA 02 00 00 00 00 00 00 
[11:49:46][I][Moduledata::994]: 11: FF 01 C3 FC 3F F3 FF FF FF 03 00 00 00 00 00 00 
[11:49:47][D][text_sensor:067]: 'dscalarm line1': Sending state 'System is Ready'
[11:49:50][I][Paneldata: :994]: 11: 11 00 AA AA AA AA AA AA AA 02 00 00 00 00 00 00 
[11:49:50][I][Moduledata::994]: 11: FF 01 C3 FC 3F F3 FF FF FF 03 00 00 00 00 00 00 
[11:49:51][D][test:925]: code=,alarmCode=
[11:49:51][D][debug:927]: Setting Alarm state: S to partition 1
[11:49:51][D][debug:938]: Arming stay
[11:49:51][I][Moduledata::994]: 05: FF 01 AF FF FF FF FF FF FF FF 01 00 00 00 00 00 
[11:49:54][I][Paneldata: :994]: 11: 11 00 AA AA AA AA AA AA AA 02 00 00 00 00 00 00 
[11:49:54][I][Moduledata::994]: 11: FF 01 C3 FC 3F F3 FF FF FF 03 00 00 00 00 00 00 
[11:49:58][I][Paneldata: :994]: 11: 11 00 AA AA AA AA AA AA AA 02 00 00 00 00 00 00 
[11:49:58][I][Moduledata::994]: 11: FF 01 C3 FC 3F F3 FF FF FF 03 00 00 00 00 00 00 
[11:50:00][I][Paneldata: :994]: 11: 11 00 AA AA AA AA AA AA AA 02 00 00 00 00 00 00 
[11:50:00][I][Paneldata: :994]: 11: 11 00 AA AA AA AA AA AA AA 02 00 00 00 00 00 00 
[11:50:00][D][info:1853]: status 02, last status 02,line2status 00,selection 01,partition=1,skip=0,force=1
[11:50:00][D][text_sensor:067]: 'dscalarm line1': Sending state 'System is Ready'
[11:50:00][D][text_sensor:067]: 'dscalarm line2': Sending state 'Ready to Arm <>'
[11:50:00][D][text_sensor:067]: 'dscalarm System Status': Sending state 'online'
[11:50:00][D][text_sensor:067]: 'dscalarm Partition 1 Status ': Sending state 'disarmed'
[11:50:00][D][text_sensor:067]: 'dscalarm zone status ': Sending state ''
[11:50:00][D][text_sensor:067]: 'dscalarm Trouble Msg ': Sending state ''
[11:50:01][D][text_sensor:067]: 'dscalarm event': Sending state ''
[11:50:02][D][text_sensor:067]: 'dscalarm Trouble Msg ': Sending state ''
[11:50:02][I][Paneldata: :994]: 11: 11 00 AA AA AA AA AA AA AA 02 00 00 00 00 00 00 
[11:50:02][I][Moduledata::994]: 11: FF 01 C3 FC 3F F3 FF FF FF 03 00 00 00 00 00 00 
[11:50:06][I][Paneldata: :994]: 11: 11 00 AA AA AA AA AA AA AA 02 00 00 00 00 00 00 
[11:50:06][I][Moduledata::994]: 11: FF 01 C3 FC 3F F3 FF FF FF 03 00 00 00 00 00 00 
[11:50:10][D][text_sensor:067]: 'dscalarm System Status': Sending state 'online'
[11:50:10][I][Paneldata: :994]: 11: 11 00 AA AA AA AA AA AA AA 02 00 00 00 00 00 00 
[11:50:10][I][Moduledata::994]: 11: FF 01 C3 FC 3F F3 FF FF FF 03 00 00 00 00 00 00 
[11:50:10][D][text_sensor:067]: 'dscalarm Partition 1 Msg ': Sending state '02: Stay zones open'

Looks like you don’t have quick arm enabled or you don’t have the access code programmed in the yaml as i can see the cmd 05 sending the key request to the panel but the panel is not accepting it. Your wiring is fine.

Hi, quick arm is enabled - *0 on the physical keypad arms the system. Access code is present in yaml, I have also tried to input the code manually with the virtual keypad on HA - same result, no reaction from the panel.
Can it be that the command is sent to the panel, but does not get there through the hardware part? The only thing which come to my mind is the transistor in the hardware part - maybe I should try replacing it with another one…

UPDATE: checked the hardware for the 6th time and the transistor was soldered incorrectly… Now it finally works - thanks everyone for your help!

Interesting though I did see the 05 cmd show the cmd being sent on the bus so it looked ok from your logs. Glad you got it working.

Thanks for the hard work on this Dilbert66 and all the other contributors. I put one together today and I can see all the different zones but I can’t seem to send any commands to the key pad. I’m using the D1 mini PCB with the D1 Mini ESP32 board (WROOM-32). Nothing regarding the keypad inputs appears in the debug level logger. I appreciate any help. I did check all the traces on the PCB and everything seems to be in order.

I changed the pins in dscAlarm.h to:

#define dscClockPin 22
#define dscReadPin 21 
#define dscWritePin 18

Here’s my ESPHome yaml:

#for documentation see project at https://github.com/Dilbert66/esphome-dsckeybus
substitutions:
  systemName: "dscalarm"
  accessCode: !secret access_code #Only comes into effect if a password prompt occurs when arming eg. night mode
  cmdWaitTime: "0" # milliseconds.  set how long to delay before accepting a new 05 cmd as valid to filter out intermittent short duration bogus commands that some panels send. default = 0

esphome:
  name: $systemName
  platform: ESP32
  board: nodemcu-32s
  
  includes:
    - dscKeybusInterface/

wifi:
  networks:
    - ssid: !secret wifi_ssid
      password: !secret wifi_password
    - ssid: !secret IoT_wifi_ssid
      password: !secret IoT_wifi_password
  manual_ip:
    static_ip: 192.168.3.58
    gateway: 192.168.3.1
    subnet: 255.255.255.0
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    password: "NXTWUkuYjOwR"

logger:
  baud_rate: 9600
  level: debug

api:
  encryption:
    key: "WDCiJwJlOzG1DeyUoImcWBF1k2zBcuBuEmVtHYkzVbs="
   
ota:
   
status_led:
  pin:
    number: 16
    inverted: yes

custom_component:
- lambda: |-
    auto DSCkeybus = new DSCkeybushome();
    
    DSCkeybus->accessCode="$accessCode";
    DSCkeybus->cmdWaitTime=$cmdWaitTime;
    DSCkeybus->debug=2; // 0 = off, 1 = status change data, 2 = + 05/27 packets, 3 = + all packets received
    
    DSCkeybus->onSystemStatusChange([&](std::string statusCode) {
       id(system_status).publish_state(statusCode);
    });
    DSCkeybus->onPartitionStatusChange([&](uint8_t partition,std::string statusCode) {
       switch(partition) {
         case 1: id(p1).publish_state(statusCode); break;
      }
    });
    DSCkeybus->onPartitionMsgChange([&](uint8_t partition,std::string msg) {
       switch(partition) {
         case 1: id(m1).publish_state(msg); break;
      }
    });
    DSCkeybus->onTroubleStatusChange([&](troubleStatus ts,bool open) {
        switch(ts) {
            case trStatus: id(tr).publish_state(open);break;
            case batStatus: id(bat).publish_state(open);break;
            case acStatus: id(ac).publish_state(open);break;
            case panicStatus: id(panic).publish_state(open);break;
            default: break;
        }
    });
    DSCkeybus->onFireStatusChange([&](uint8_t partition, bool open) {
      switch (partition) {
          case 1: id(f1).publish_state(open); break;
      }
    });
    DSCkeybus->onZoneStatusChange([&](uint8_t zone, bool open) {
      switch (zone) {
        case 1: id(z1).publish_state(open); break;
        case 2: id(z2).publish_state(open); break;
        case 3: id(z3).publish_state(open); break;
        case 4: id(z4).publish_state(open); break;
        case 6: id(z6).publish_state(open); break;
      }
    });
    DSCkeybus->onZoneAlarmChange([&](uint8_t zone, bool open) {
      switch (zone) {
        case 1: id(za1).publish_state(open); break;
        case 2: id(za2).publish_state(open); break;
        case 3: id(za3).publish_state(open); break;
        case 4: id(za4).publish_state(open); break;
        case 6: id(za6).publish_state(open); break;
      }
    });
    return {DSCkeybus};

binary_sensor:
    #zone status
  - platform: template
    id: z1
    name: "$systemName Front/side door"
    device_class: door
  - platform: template
    id: z2
    name: "$systemName Back door"
    device_class: door
  - platform: template
    id: z3
    name: "$systemName Front door motion"
    device_class: motion
  - platform: template
    id: z4
    name: "$systemName Back door motion"
    device_class: motion
  - platform: template
    id: z6
    name: "$systemName Basement windows"
    device_class: window

    
    #zone alarm status
  - platform: template
    id: za1
    name: "$systemName Front/side door alarm"
    #device_class: safety
  - platform: template
    id: za2
    name: "$systemName Back door alarm"
    #device_class: safety
  - platform: template
    id: za3
    name: "$systemName Front door motion alarm"
    #device_class: safety
  - platform: template
    id: za4
    name: "$systemName Back door alarm"
    #device_class: safety
  - platform: template
    id: za6
    name: "$systemName Basement window alarm"
    #device_class: safety
    
  - platform: template
    id: tr
    name: "$systemName Trouble Status"
    device_class: problem
  - platform: template
    id: bat
    name: "$systemName Battery Status"
    device_class: problem

  - platform: template
    id: ac
    name: "$systemName AC Status"
    device_class: plug

  - platform: template
    id: panic
    name: "$systemName Panic Status"
    device_class: safety
    
  - platform: template
    id: f1
    device_class: safety
    name: "$systemName Fire Status"
  
text_sensor:
  - platform: template
    id: system_status
    name: "$systemName System Status"
    icon: "mdi:shield"
  - platform: template
    id: p1
    name: "$systemName Partition 1 Status "
    icon: "mdi:shield"
  - platform: template
    id: m1
    name: "$systemName Partition 1 Msg "
    icon: "mdi:alert-box"
     
switch:
  - platform: template
    name: "$systemName Connection"
    id: connection_status_switch
    lambda: |-
      return dsc.keybusConnected;
    icon: "mdi:shield-link-variant"
    turn_on_action:
      - switch.toggle: restart_switch
    turn_off_action:
      - lambda: |-
          disconnectKeybus();
  - platform: restart
    id: restart_switch

I added the Sample Alarm Control Panel template to my configuration.yaml:

alarm_control_panel:
  - platform: template
    panels:
      safe_alarm_panel:
        name: "Alarm Panel"
        value_template: "{{states('sensor.dscalarm_partition_1_status')}}"
        code_arm_required: false
        arm_away:
          - service: esphome.dscalarm_alarm_arm_away
        arm_home:
          - service: esphome.dscalarm_alarm_arm_home
        arm_night:
          - service: esphome.dscalarm_alarm_arm_night
            data_template:
              code: '1234' #if you didnt set it in the yaml, then send the code he>
        disarm:
          - service: esphome.dscalarm_alarm_disarm
            data_template:
              code: '1234'

1 Like

We used the same D1 mini ESP32. dscWritePin should be 5 instead of 18. The pin number is marked on the bottom of your D1 mini ESP32. Also it is better used ‘wemo_d1_mini32’ instead of ‘nodemcu-32s’ under esphome.

Thanks for the help. I changed the pin (pretty sure I had that originally but changed it while troubleshooting) and I also changed the board to wemos_d1_mini32 and still have no activity when I interact with the keypad in Home Assistant.

I noticed you are using the master branch. It is better to switch to ‘dev’ branch. You can then define the dsc pins in the yaml file and do not need to change the dscAlarm.h.

I fixed it. I did update to the dev branch but I also fixed my sloppy solder on R5 and reflowed the transistor. Not sure what fixed it but everything is up and running. Thanks for the assistance!

New HomeAssistant user here. I have a DSC832 PC5016. Did all the config. I do see data in dashboard but panel commands have no effect on the system.
I will post all the config I did. I used the dev branch as I lost some time fighting with the master branch config.
I’m using an ESP32 WROOM with an external 3.3v, a 2N2907 transistor and a breadboard. system is stable. It’s probably just a panel config issue. I added the panel to the configuration layout. I can see Disarmed state. And I’m not sure this model is supported.
I tried to enable the quick arm feature with the combination *8 > install passcode > 015 but I only get a number 1–4–7 and no idea what that means and how to enable the feature bu changing this number. Other models have text config items to choose from but mine has just this number sequence. I will have to do some research to see what they mean.

Some debug log lines:

[22:00:17][I][Moduledata::978]: 05: FF 01 FF FF FF FF 08 00 00 00 00 00 00 00 00 00 
[22:00:17][I][Moduledata::978]: 05: FF 01 FF FF FF FF 04 00 00 00 00 00 00 00 00 00 
[22:00:17][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:17][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:18][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:18][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 03 00 00 00 00 00 00 00 00 00 
[22:00:18][I][Moduledata::978]: 82: 3F 01 FF FF FF FF 03 00 00 00 00 00 00 00 00 00 
[22:00:18][I][Paneldata: :978]: 81: 81 00 A4 40 64 71 07 00 00 00 00 00 00 00 00 00 
[22:00:18][I][Moduledata::978]: 81: 1F 01 FF FF FF FF 07 00 00 00 00 00 00 00 00 00 
[22:00:18][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 0F 00 00 00 00 00 00 00 00 00 
[22:00:18][I][Moduledata::978]: 82: 3F 01 FF FF FF FF 0C 00 00 00 00 00 00 00 00 00 
[22:00:18][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:18][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 03 00 00 00 00 00 00 00 00 00 
[22:00:18][I][Moduledata::978]: 82: 3F 01 FF FF FF FF 03 00 00 00 00 00 00 00 00 00 
[22:00:19][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:19][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:19][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:19][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 9F FF FF FF FF 0F 00 00 00 00 
[22:00:19][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:19][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:19][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:20][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:20][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:20][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:20][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:20][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:20][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:20][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:20][D][Debug:848]: Writing keys: W to partition 1, partition disabled: 0 , partition locked: 0
[22:00:20][D][info:1785]: status 01, last status 01,line2status 3F,selection 01,partition=1,skip=0
[22:00:21][D][text_sensor:067]: 'dscalarm line1': Sending state 'System is Ready'
[22:00:21][D][text_sensor:067]: 'dscalarm line2': Sending state 'Ready to Arm <>'
[22:00:21][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 03 00 00 00 00 00 00 00 00 00 
[22:00:21][I][Moduledata::978]: 82: 3F 01 FF FF FF FF 03 00 00 00 00 00 00 00 00 00 
[22:00:21][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:21][I][Paneldata: :978]: 63: 63 00 00 00 00 00 00 63 01 00 00 00 00 00 00 00 
[22:00:21][I][Moduledata::978]: 63: 7F 01 FF FF FF FF FF FF 01 00 00 00 00 00 00 00 
[22:00:21][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:21][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:21][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:21][I][Paneldata: :978]: C1: C1 00 A4 40 64 71 0F 00 00 00 00 00 00 00 00 00 
[22:00:21][I][Moduledata::978]: C1: 1F 01 FF FF FF FF 0E 00 00 00 00 00 00 00 00 00 
[22:00:22][I][Moduledata::978]: 05: FF 01 FF FF FF FF 04 00 00 00 00 00 00 00 00 00 
[22:00:22][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 03 00 00 00 00 00 00 00 00 00 
[22:00:22][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:22][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:22][D][Debug:848]: Writing keys: W to partition 1, partition disabled: 0 , partition locked: 0
[22:00:22][D][info:1785]: status 01, last status 01,line2status 3F,selection 01,partition=1,skip=0
[22:00:22][D][text_sensor:067]: 'dscalarm line1': Sending state 'System is Ready'
[22:00:22][D][text_sensor:067]: 'dscalarm line2': Sending state 'Ready to Arm <>'
[22:00:22][I][Moduledata::978]: 05: FF 01 FF FF FF FF 04 00 00 00 00 00 00 00 00 00 
[22:00:22][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:23][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:23][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:23][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 03 00 00 00 00 00 00 00 00 00 
[22:00:23][I][Moduledata::978]: 82: 3F 01 FF FF FF FF 03 00 00 00 00 00 00 00 00 00 
[22:00:23][I][Paneldata: :978]: C1: C1 00 A4 40 64 71 07 00 00 00 00 00 00 00 00 00 
[22:00:23][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:23][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:23][I][Paneldata: :978]: C1: C1 00 A4 40 64 71 07 00 00 00 00 00 00 00 00 00 
[22:00:24][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:24][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 04 00 00 00 00 00 00 00 00 00 
[22:00:24][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:24][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:24][I][Paneldata: :978]: 81: 81 00 A4 40 64 71 0F 00 00 00 00 00 00 00 00 00 
[22:00:24][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 04 00 00 00 00 00 00 00 00 00 
[22:00:24][D][Debug:848]: Writing keys: W to partition 1, partition disabled: 0 , partition locked: 0
[22:00:25][D][info:1785]: status 01, last status 01,line2status 3F,selection 01,partition=1,skip=0
[22:00:25][D][text_sensor:067]: 'dscalarm line1': Sending state 'System is Ready'
[22:00:25][D][text_sensor:067]: 'dscalarm line2': Sending state 'Ready to Arm <>'
[22:00:25][I][Paneldata: :978]: C1: C1 00 A4 40 64 71 07 00 00 00 00 00 00 00 00 00 
[22:00:25][I][Paneldata: :978]: 05: 05 00 91 01 91 C7 E0 A9 10 19 1C 0F 00 00 00 00 
[22:00:25][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:25][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:25][I][Moduledata::978]: 05: FF 01 FF FF FF FF 04 00 00 00 00 00 00 00 00 00 
[22:00:25][I][Moduledata::978]: 05: FF 01 FF FF FF FF 04 00 00 00 00 00 00 00 00 00 
[22:00:25][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:26][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 03 00 00 00 00 00 00 00 00 00 
[22:00:26][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:26][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 03 00 00 00 00 00 00 00 00 00 
[22:00:26][I][Moduledata::978]: 82: 3F 01 FF FF FF FF 03 00 00 00 00 00 00 00 00 00 
[22:00:26][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:26][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:26][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:26][I][Paneldata: :978]: 60: 60 01 52 20 32 38 F8 2A 44 06 47 0F 00 00 00 00 
[22:00:26][I][Moduledata::978]: 60: 1F 01 FF FF FF FF F3 FF FF FF FF 7F 00 00 00 00 
[22:00:27][I][Moduledata::978]: 05: FF 01 FF FF FF FF 04 00 00 00 00 00 00 00 00 00 
[22:00:27][D][Debug:848]: Writing keys: S to partition 1, partition disabled: 0 , partition locked: 0
[22:00:27][D][info:1785]: status 01, last status 01,line2status 3F,selection 01,partition=1,skip=0
[22:00:27][D][text_sensor:067]: 'dscalarm line1': Sending state 'System is Ready'
[22:00:27][D][text_sensor:067]: 'dscalarm line2': Sending state 'Ready to Arm <>'
[22:00:27][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:27][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:27][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:27][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:28][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:28][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:28][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:28][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:28][I][Paneldata: :978]: C1: C1 00 A4 40 64 71 07 00 00 00 00 00 00 00 00 00 
[22:00:28][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 07 00 00 00 00 00 00 00 00 00 
[22:00:28][I][Moduledata::978]: 82: 7F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[22:00:29][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 03 00 00 00 00 00 00 00 00 00 
[22:00:29][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:29][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:29][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 03 00 00 00 00 00 00 00 00 00 
[22:00:29][I][Moduledata::978]: 82: 3F 01 FF FF FF FF 06 00 00 00 00 00 00 00 00 00 
[22:00:29][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:29][I][Paneldata: :978]: C1: C1 00 A4 40 64 71 07 00 00 00 00 00 00 00 00 00 
[22:00:29][I][Moduledata::978]: C1: 1F 01 FF FF FF FF 0E 00 00 00 00 00 00 00 00 00 
[22:00:29][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 E0 A9 10 19 1C 0F 00 00 00 00 
[22:00:29][I][Moduledata::978]: 82: 3F 01 FF FF FF FF CF FF FF FF FF 1F 00 00 00 00 
[22:00:30][I][Paneldata: :978]: C1: C1 00 A4 40 64 71 1F 00 00 00 00 00 00 00 00 00 
[22:00:30][I][Moduledata::978]: C1: 1F 01 FF FF FF FF 1C 00 00 00 00 00 00 00 00 00 
[22:00:30][I][Moduledata::978]: 05: FF 01 FF FF FF FF 04 00 00 00 00 00 00 00 00 00 
[22:00:30][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:30][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:30][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:30][I][Paneldata: :978]: C1: C1 00 A4 40 64 71 07 00 00 00 00 00 00 00 00 00 
[22:00:30][I][Moduledata::978]: C1: 1F 01 FF FF FF FF 0E 00 00 00 00 00 00 00 00 00 
[22:00:31][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:31][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:31][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 03 00 00 00 00 00 00 00 00 00 
[22:00:31][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:31][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:32][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 03 00 00 00 00 00 00 00 00 00 
[22:00:32][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 03 00 00 00 00 00 00 00 00 00 
[22:00:32][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 03 00 00 00 00 00 00 00 00 00 
[22:00:32][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 04 00 00 00 00 00 00 00 00 00 
[22:00:32][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:32][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:32][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 0F 00 00 00 00 00 00 00 00 00 
[22:00:32][I][Moduledata::978]: 82: 7F 01 FF FF FF FF 0C 00 00 00 00 00 00 00 00 00 
[22:00:33][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:33][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:33][I][Paneldata: :978]: 82: 82 01 48 80 C8 E3 03 00 00 00 00 00 00 00 00 00 
[22:00:33][I][Moduledata::978]: 82: 3F 01 FF FF FF FF 03 00 00 00 00 00 00 00 00 00 
[22:00:33][I][Moduledata::978]: 05: FF 01 FF FF FF FF 04 00 00 00 00 00 00 00 00 00 
[22:00:33][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:33][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:33][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 01 00 00 00 00 00 00 00 00 00 
[22:00:33][I][Moduledata::978]: 05: 7F 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:33][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00 
[22:00:34][I][Moduledata::978]: 05: FF 01 FF FF FF FF 02 00 00 00 00 00 00 00 00 00