I switched the aui address to 1, recompiled and repeated the Arm Stay. Seems to behave the same way. I uploaded the logs to the same github issue.
I have the *189 setup to be 1 for all 4 values (AUI1, AUI2, AUI3, AUI4), which I believe is partition 1 which is the only partition I have configured in my panel.
Dilbert66
(Alain)
December 22, 2024, 2:34pm
228
It still is not responding to address 1 which is odd. I should see an F2 02 xxxx cmd response (if using address 1, etc). Just for fun, can you also try address 2? It’s as if the panel does not recognize the address as being an aui address, which it should as you have enabled all addresses to partition 1.
I switched it to address 2 now and uploaded the logs.
Dilbert66
(Alain)
December 22, 2024, 5:07pm
230
Ok, still no change. That is an odd one. I know this code was tested on a couple different systems so it works but on yours, the panel is simply ignoring the cmd as being an AUI request. Ok, I see your system is a vista-20p and i know from a couple other users including mine, that this works. I wonder if there is another setting that I’m missing here…
I tried setting *189 to 1 1 0 0 (only enabling AUI addresses 1 and 2; according the manual, this is the factory default) and it didn’t seem to make a difference. Looking over the Vista-20P programming guide it’s not obvious to me if any of the other settings would change the behavior of the AUI panel interaction. I even pulled the power to the panel (and backup battery) to see if rebooting the panel would help, but it did not.
I’d be happy to run some debugging code if that would help.
I have a documentation addendum for my panel, which under the *189 section has this note:
AUI Compatibility Note: To ensure proper AUI device operation, use AUI devices with the following rev levels: 6270 series use version 1.0.9 or higher; 8132/8142 (Symphony) series use version 1.1.175 or higher
Could be a protocol communication version issue, or perhaps it’s nothing.
Dilbert66
(Alain)
December 22, 2024, 6:39pm
233
That’s very possible. My system is old so your system might be a bit newer and it doesnt recognize the cmds. Nevertheless though, I would have expected an error message back from the panel . Interesting. The only way to know for sure would be to monitor logs of a panel with an actual touch keypad. I’ll see if someone has logs of one that I can look at.
Dilbert66
(Alain)
January 7, 2025, 8:38pm
234
I need to ask a favor of anyone that has a Touch Keypad such as the Honneywell 6280 or the Tuxedo Touch. It would be best if you are also using the “dev” version of the Vista library as it provides more info on the F2 cmds. I need some esphome logs of when the touch keypad is used to view open zones. If you do, can you please post them on this discussion on my github site! Thanks!
Hi folks, if anyone can provide some logs as per the title above, it would be appreciated. I'm trying to find out if there are version differences between panel types. Please provide the panel type...
TexasGreg
(Greg)
February 19, 2025, 10:27pm
235
The latest ESP32 update doesn’t work with the software now.
Dilbert66
(Alain)
February 19, 2025, 11:07pm
236
It would be helpful if you provided more information then just saying it doesnt work. I have it working fine here on the latest esphome version.
TexasGreg
(Greg)
February 20, 2025, 1:21am
237
This is what happened to me using your older code: ESPHome now requires you to separate your custom code into an external component. I skated by for 2 years until they did this.
I installed your newer code and after going round and round with AI, we got my VistaAlarm.yaml to work. Then I was able to upgrade to the latest ESP32.
Thanks again for this fantastic system!
1 Like
Panko74
(Gianluca)
February 25, 2025, 3:55pm
238
Hi, I just managed to connect my ESP32-C3-Devkitm-1 to my Vista120 control panel. Esphome detects the device and publishes the entities, but these do not update when the physical state of the sensors changes. The log systematically includes lines like: [E][CMD:843] with some F7 00 – 00 77. I checked the connections and everything seems fine. Disconnecting the yellow cable (RX) the log stops. Here is the log and the YAML source, in which I customized the pins and added the fix for the ESP32-C3 (api services remote_transmitter compile error esp32c3 #2 · Issue #3564 · esphome/issues · GitHub ).
INFO ESPHome 2025.2.0
INFO Reading configuration /config/esphome/vistaalarm2.yaml...
INFO Detected timezone 'Europe/Rome'
INFO Generating C++ source...
INFO Compiling app...
Processing vistaalarm2 (board: esp32-c3-devkitm-1; framework: arduino; platform: platformio/[email protected] )
--------------------------------------------------------------------------------
HARDWARE: ESP32C3 160MHz, 320KB RAM, 4MB Flash
- toolchain-riscv32-esp @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.4
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.2.2
|-- DNSServer @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- noise-c @ 0.1.6
Compiling .pioenvs/vistaalarm2/src/main.cpp.o
Linking .pioenvs/vistaalarm2/firmware.elf
RAM: [= ] 11.5% (used 37532 bytes from 327680 bytes)
Flash: [===== ] 54.6% (used 1001254 bytes from 1835008 bytes)
Building .pioenvs/vistaalarm2/firmware.bin
Creating esp32c3 image...
Successfully created esp32c3 image.
esp32_create_combined_bin([".pioenvs/vistaalarm2/firmware.bin"], [".pioenvs/vistaalarm2/firmware.elf"])
Wrote 0x1080d0 bytes to file /data/build/vistaalarm2/.pioenvs/vistaalarm2/firmware.factory.bin, ready to flash to offset 0x0
esp32_copy_ota_bin([".pioenvs/vistaalarm2/firmware.bin"], [".pioenvs/vistaalarm2/firmware.elf"])
========================= [SUCCESS] Took 6.84 seconds =========================
INFO Successfully compiled program.
INFO Connecting to 192.168.0.31 port 3232...
INFO Connected to 192.168.0.31
INFO Uploading /data/build/vistaalarm2/.pioenvs/vistaalarm2/firmware.bin (1016016 bytes)
Uploading: [============================================================] 100% Done...
INFO Upload took 10.25 seconds, waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from 192.168.0.31 using esphome API
INFO Successfully connected to vistaalarm2 @ 192.168.0.31 in 2.091s
INFO Successful handshake with vistaalarm2 @ 192.168.0.31 in 0.094s
[14:07:53][I][app:100]: ESPHome version 2025.2.0 compiled on Feb 25 2025, 14:07:34
[14:07:53][C][wifi:600]: WiFi:
[14:07:53][C][wifi:428]: Local MAC: E8:06:90:66:31:C0
[14:07:53][C][wifi:433]: SSID: 'Pankonet'[redacted]
[14:07:53][C][wifi:436]: IP Address: 192.168.0.31
[14:07:53][C][wifi:440]: BSSID: E8:43:68:5D:42:7C[redacted]
[14:07:53][C][wifi:441]: Hostname: 'vistaalarm2'
[14:07:53][C][wifi:443]: Signal strength: -57 dB ▂▄▆█
[14:07:53][C][wifi:447]: Channel: 7
[14:07:53][C][wifi:448]: Subnet: 255.255.255.0
[14:07:53][C][wifi:449]: Gateway: 192.168.0.1
[14:07:53][C][wifi:450]: DNS1: 0.0.0.0
[14:07:53][C][wifi:451]: DNS2: 0.0.0.0
[14:07:53][C][logger:177]: Logger:
[14:07:53][C][logger:178]: Max Level: DEBUG
[14:07:53][C][logger:179]: Initial Level: DEBUG
[14:07:53][C][logger:181]: Log Baud Rate: 115200
[14:07:53][C][logger:182]: Hardware UART: USB_CDC
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Guasto Giorno / Allarme Notte (z1)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'tamper'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Persiana Ovest (z2)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'window'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Finestra Ovest (z3)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'window'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Persiana P-Finestra (z4)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'window'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Finestra P-Finestra (z5)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'window'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Persiana Bagno (z6)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'window'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Finestra Bagno (z7)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'window'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Persiana Cucina (z8)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'window'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Finestra Cucina (z9)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'window'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Porta Ingresso (z10)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'door'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Serranda Garage (z11)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'garage_door'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Porta Garage (z12)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'garage_door'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'check relay 12 (z112)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'problem'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'check expander 08 (z108)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'problem'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'check comm device (z103)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'problem'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Ready (rdy_1)'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Ready (rdy_2)'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Trouble (trbl_1)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'problem'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Trouble (trbl_2)'
[14:07:53][C][template.binary_sensor:028]: Device Class: 'problem'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Bypass (byp_1)'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Bypass (byp_2)'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Away (arma_1)'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Away (arma_2)'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Armed (arm_1)'
[14:07:53][C][template.binary_sensor:028]: Template Binary Sensor 'Armed (arm_2)'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'Stay (arms_1)'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'Stay (arms_2)'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'Instant (armi_1)'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'Instant (armi_2)'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'Night (armn_1)'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'Instant (armi_2)'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'AC (ac)'
[14:07:54][C][template.binary_sensor:028]: Device Class: 'plug'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'Chime (chm_1)'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'Chime (chm_2)'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'Alarm (alm_1)'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'Alarm (alm_2)'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'Battery (bat)'
[14:07:54][C][template.binary_sensor:028]: Device Class: 'problem'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'Fire (fire_1)'
[14:07:54][C][template.binary_sensor:028]: Device Class: 'smoke'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'Fire (fire_2)'
[14:07:54][C][template.binary_sensor:028]: Device Class: 'smoke'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'Relay1 (r121)'
[14:07:54][C][template.binary_sensor:028]: Template Binary Sensor 'Relay2 (r122)'
[14:07:54][C][template.text_sensor:020]: Template Sensor 'Front door zone (z1)'
[14:07:54][C][template.text_sensor:020]: Template Sensor 'System Status (ss_1)'
[14:07:54][C][template.text_sensor:020]: Icon: 'mdi:shield'
[14:07:54][C][template.text_sensor:020]: Template Sensor 'System Status (ss_2)'
[14:07:54][C][template.text_sensor:020]: Icon: 'mdi:shield'
[14:07:54][C][template.text_sensor:020]: Template Sensor 'Lrr Msg (lrr)'
[14:07:54][C][template.text_sensor:020]: Icon: 'mdi:alert-box'
[14:07:54][C][template.text_sensor:020]: Template Sensor 'RF Msg (rf)'
[14:07:54][C][template.text_sensor:020]: Icon: 'mdi:alert-box'
[14:07:54][C][template.text_sensor:020]: Template Sensor 'Line1 (ln1_1)'
[14:07:54][C][template.text_sensor:020]: Template Sensor 'Line2 (ln2_1)'
[14:07:54][C][template.text_sensor:020]: Template Sensor 'Line1 (ln1_2)'
[14:07:54][C][template.text_sensor:020]: Template Sensor 'Line2 (ln2_2)'
[14:07:54][C][template.text_sensor:020]: Template Sensor 'Line1 (ln1_3)'
[14:07:54][C][template.text_sensor:020]: Template Sensor 'Line2 (ln2_3)'
[14:07:54][C][template.text_sensor:020]: Template Sensor 'Zone Status (zs)'
[14:07:54][C][template.text_sensor:020]: Template Sensor 'Beeps (bp_1)'
[14:07:54][C][template.text_sensor:020]: Template Sensor 'Beeps (bp_2)'
[14:07:54][C][template.switch:068]: Template Switch 'vistaalarm2 Connection'
[14:07:54][C][template.switch:070]: Icon: 'mdi:shield-link-variant'
[14:07:54][C][template.switch:091]: Restore Mode: always OFF
[14:07:54][C][template.switch:057]: Optimistic: NO
[14:07:54][C][restart:068]: Restart Switch 'restart_switch'
[14:07:54][C][restart:070]: Icon: 'mdi:restart'
[14:07:54][C][restart:091]: Restore Mode: always OFF
[14:07:54][C][safe_mode.switch:068]: Safe Mode Switch 'Safe Mode'
[14:07:54][C][safe_mode.switch:070]: Icon: 'mdi:restart-alert'
[14:07:54][C][safe_mode.switch:091]: Restore Mode: always OFF
[14:07:54][C][captive_portal:089]: Captive Portal:
[14:07:54][C][sntp:042]: SNTP Time:
[14:07:54][C][sntp:045]: Server 0: '0.pool.ntp.org'
[14:07:54][C][sntp:045]: Server 1: '1.pool.ntp.org'
[14:07:54][C][sntp:045]: Server 2: '2.pool.ntp.org'
[14:07:54][C][mdns:116]: mDNS:
[14:07:54][C][mdns:117]: Hostname: vistaalarm2
[14:07:54][C][esphome.ota:073]: Over-The-Air updates:
[14:07:54][C][esphome.ota:074]: Address: 192.168.0.31:3232
[14:07:54][C][esphome.ota:075]: Version: 2
[14:07:54][C][esphome.ota:078]: Password configured
[14:07:54][C][safe_mode:018]: Safe Mode:
[14:07:54][C][safe_mode:020]: Boot considered successful after 60 seconds
[14:07:54][C][safe_mode:021]: Invoke after 10 boot attempts
[14:07:54][C][safe_mode:023]: Remain in safe mode for 300 seconds
[14:07:54][C][api:140]: API Server:
[14:07:54][C][api:141]: Address: 192.168.0.31:6053
[14:07:54][C][api:143]: Using noise encryption: YES
[14:07:54][C][debug:021]: Debug component:
[14:07:54][C][debug:026]: Free space on heap 'Heap Free'
[14:07:54][C][debug:026]: State Class: ''
[14:07:54][C][debug:026]: Unit of Measurement: 'B'
[14:07:54][C][debug:026]: Accuracy Decimals: 0
[14:07:54][C][debug:026]: Icon: 'mdi:counter'
[14:07:54][C][debug:027]: Largest free heap block 'Heap Max Block'
[14:07:54][C][debug:027]: State Class: ''
[14:07:54][C][debug:027]: Unit of Measurement: 'B'
[14:07:54][C][debug:027]: Accuracy Decimals: 0
[14:07:54][C][debug:027]: Icon: 'mdi:counter'
[14:07:54][D][debug:035]: ESPHome version 2025.2.0
[14:07:54][D][debug:039]: Free Heap Size: 192520 bytes
[14:07:54][D][debug:237]: Flash Chip: Size=4096kB Speed=80MHz Mode=QIO
[14:07:54][D][debug:285]: Chip: Model=ESP32-C3, Features=WIFI_BGN,BLE, Cores=1, Revision=4
[14:07:54][D][debug:296]: Framework: Arduino
[14:07:54][D][debug:306]: ESP-IDF Version: v4.4.2
[14:07:54][D][debug:311]: EFuse MAC: E8:06:90:66:31:C0
[14:07:54][D][debug:204]: Reset Reason: Software reset via esp_restart
[14:07:54][D][debug:359]: Wakeup Reason: Unknown
[14:07:54][C][debug:033]: Partition table:
[14:07:54][C][debug:034]: Name Type Subtype Address Size
[14:07:54][C][debug:039]: nvs 1 2 0x00009000 0x00005000
[14:07:54][C][debug:039]: otadata 1 0 0x0000E000 0x00002000
[14:07:54][C][debug:039]: app0 0 16 0x00010000 0x001C0000
[14:07:54][C][debug:039]: app1 0 17 0x001D0000 0x001C0000
[14:07:54][C][debug:039]: eeprom 1 153 0x00390000 0x00001000
[14:07:54][C][debug:039]: spiffs 1 130 0x00391000 0x0000F000
[14:07:55][D][api:103]: Accepted 192.168.0.8
[14:07:55][E][CMD:843]: 1970-01-01 01:04 F7 00 00 00 00 FC 80 00 08 02 00 BA 77
[14:07:55][W][component:237]: Component vista_alarm_panel took a long time for an operation (100 ms).
[14:07:55][W][component:238]: Components should block for at most 30 ms.
[14:07:55][D][api.connection:1446]: Home Assistant 2025.2.5 (192.168.0.8): Connected successfully
[14:07:56][E][CMD:843]: 1970-01-01 01:04 30 00 00 00 00 00 00 00 00 00 00 00 90
[14:07:56][E][CMD:843]: 1970-01-01 01:04 CA 46 00 00 00 00 00 00 00 00 00 00 90
[14:07:56][E][CMD:843]: 1970-01-01 01:04 67 54 4F 2A 2A 20 53 49 20 50 55 4F 27
[14:07:56][E][CMD:843]: 1970-01-01 01:04 20 49 4E 53 45 52 49 52 45 F3 00 00 90
[14:07:57][E][CMD:843]: 1970-01-01 01:04 C4 00 00 00 00 00 00 00 00 00 00 00 90
[14:08:02][E][CMD:843]: 1970-01-01 01:04 FE 30 00 00 00 00 00 00 00 00 00 00 90
[14:08:02][E][CMD:843]: 1970-01-01 01:04 03 17 00 00 00 00 00 00 00 00 00 00 90
[14:08:07][E][CMD:843]: 1970-01-01 01:04 39 00 00 00 00 00 00 00 00 00 00 00 90
[14:08:08][E][CMD:843]: 1970-01-01 01:04 EF 00 00 00 00 00 00 00 00 00 00 00 90
[14:08:09][E][CMD:843]: 1970-01-01 01:04 06 00 00 00 00 00 00 00 00 00 00 00 90
[14:08:13][E][CMD:843]: 1970-01-01 01:04 FC 00 00 00 00 00 00 00 00 00 00 00 90
[14:08:14][E][CMD:843]: 1970-01-01 01:04 49 F7 00 00 00 00 00 00 00 00 00 00 90
[14:08:19][E][CMD:843]: 1970-01-01 01:04 06 49 53 41 54 54 49 56 41 54 4F 2A 2A
[14:08:19][E][CMD:843]: 1970-01-01 01:04 20 53 49 20 50 55 4F 27 20 49 4E 53 45
[14:08:19][E][CMD:843]: 1970-01-01 01:04 52 49 52 45 F3 00 00 00 00 00 00 00 90
[14:08:20][E][CMD:843]: 1970-01-01 01:04 60 4F 4D 55 4E 49 43 41 5A 49 4F 4E 45
[14:08:20][E][CMD:843]: 1970-01-01 01:04 20 20 20 20 20 20 46 41 4C 4C 49 54 41
[14:08:20][E][CMD:843]: 1970-01-01 01:04 20 20 20 20 20 0C 00 00 00 00 00 00 90
[14:08:32][E][CMD:843]: 1970-01-01 01:05 0F 00 00 00 00 00 00 00 00 00 00 00 90
[14:08:32][E][CMD:843]: 1970-01-01 01:05 D0 00 00 00 00 00 00 00 00 00 00 00 90
[14:08:36][E][CMD:843]: 1970-01-01 01:05 B2 11 00 00 00 00 00 00 00 00 00 00 90
[14:08:38][E][CMD:843]: 1970-01-01 01:05 E4 70 00 00 00 00 00 00 00 00 00 00 90
[14:08:42][E][CMD:843]: 1970-01-01 01:05 52 00 00 00 00 00 00 00 00 00 00 00 90
[14:08:44][E][CMD:843]: 1970-01-01 01:05 D5 E8 00 00 00 00 00 00 00 00 00 00 90
[14:08:48][E][CMD:843]: 1970-01-01 01:05 D7 00 00 00 00 00 00 00 00 00 00 00 90
[14:08:49][E][CMD:843]: 1970-01-01 01:05 88 00 00 00 00 00 00 00 00 00 00 00 90
[14:08:50][E][CMD:843]: 1970-01-01 01:05 45 88 00 00 00 00 00 00 00 00 00 00 90
[14:08:50][I][safe_mode:041]: Boot seems successful; resetting boot loop counter
[14:08:50][D][esp32.preferences:114]: Saving 1 preferences to flash...
[14:08:50][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[14:08:54][E][CMD:843]: 1970-01-01 01:05 D0 00 00 00 00 00 00 00 00 00 00 00 90
[14:08:54][E][CMD:843]: 1970-01-01 01:05 1F 3F 00 00 00 00 00 00 00 00 00 00 90
[14:08:54][E][CMD:843]: 1970-01-01 01:05 80 20 20 A6 00 00 00 00 00 00 00 00 90
[14:08:55][E][CMD:843]: 1970-01-01 01:05 01 00 00 00 00 00 00 00 00 00 00 00 90
[14:09:00][E][CMD:843]: 1970-01-01 01:05 0B C2 00 00 00 00 00 00 00 00 00 00 90
[14:09:00][E][CMD:843]: 1970-01-01 01:05 08 00 00 00 00 00 00 00 00 00 00 00 90
[14:09:00][E][CMD:843]: 1970-01-01 01:05 75 4F 20 20 20 4E 52 20 20 20 20 20 20
[14:09:00][E][CMD:843]: 1970-01-01 01:05 43 00 00 00 00 00 00 00 00 00 00 00 90
[14:09:00][E][CMD:843]: 1970-01-01 01:05 08 06 06 20 20 20 20 1A 00 00 00 00 90
[14:09:06][E][CMD:843]: 1970-01-01 01:05 60 0D 02 1F 00 C1 50 45 52 54 20 30 30
[14:09:06][E][CMD:843]: 1970-01-01 01:05 32 20 5A 4E 20 30 30 32 50 45 52 53 49
[14:09:06][E][CMD:843]: 1970-01-01 01:05 41 4E 41 20 4F 56 45 53 54 20 20 EB 90
[14:09:06][E][CMD:843]: 1970-01-01 01:05 0E 2A 20 53 49 20 50 55 4F 27 20 49 4E
[14:09:06][E][CMD:843]: 1970-01-01 01:05 53 45 52 49 52 45 F3 00 00 00 00 00 90
[14:09:12][E][CMD:843]: 1970-01-01 01:05 FE 60 30 03 0C 08 02 00 00 A0 43 4F 4D
[14:09:12][E][CMD:843]: 1970-01-01 01:05 55 4E 49 43 41 5A 49 4F 4E 45 20 20 20
[14:09:12][E][CMD:843]: 1970-01-01 01:05 20 20 20 46 41 4C 4C 49 54 41 20 20 20
[14:09:12][E][CMD:843]: 1970-01-01 01:05 20 00 00 00 00 00 00 00 00 00 00 00 90
[14:09:12][E][CMD:843]: 1970-01-01 01:05 01 00 00 00 00 00 00 00 00 00 00 00 90
[14:09:12][E][CMD:843]: 1970-01-01 01:05 F0 00 00 00 00 00 00 00 00 00 00 00 00
[14:09:17][E][CMD:843]: 1970-01-01 01:05 E8 00 00 00 00 00 00 00 00 00 00 00 90
[14:09:18][E][CMD:843]: 1970-01-01 01:05 74 F7 00 00 00 00 00 00 00 00 00 00 90
[14:09:18][E][CMD:843]: 1970-01-01 01:05 2A 00 00 00 00 00 00 00 00 00 00 00 90
[14:09:34][E][CMD:843]: 1970-01-01 01:06 7F 00 00 00 00 00 00 00 00 00 00 00 90
[14:09:53][E][CMD:843]: 1970-01-01 01:06 08 80 03 1C 08 02 00 00 2A 2A 44 49 53
[14:09:53][E][CMD:843]: 1970-01-01 01:06 41 54 54 49 56 41 54 4F 2A 2A 20 53 49
[14:09:53][E][CMD:843]: 1970-01-01 01:06 20 50 55 4F 27 20 49 4E 53 45 52 49 52
[14:09:53][E][CMD:843]: 1970-01-01 01:06 45 F3 00 00 00 00 00 00 00 00 00 00 90
[14:09:58][E][CMD:843]: 1970-01-01 01:06 99 00 00 00 00 00 00 00 00 00 00 00 90
[14:09:59][E][CMD:843]: 1970-01-01 01:06 C3 00 00 00 00 00 00 00 00 00 00 00 90
[14:10:03][E][CMD:843]: 1970-01-01 01:06 7C 00 00 00 00 00 00 00 00 00 00 00 90
[14:10:04][E][CMD:843]: 1970-01-01 01:06 C4 00 00 00 00 00 00 00 00 00 00 00 90
[14:10:05][E][CMD:843]: 1970-01-01 01:06 7F 9E 00 00 00 00 00 00 00 00 00 00 90
[14:10:09][E][CMD:843]: 1970-01-01 01:06 C0 00 00 00 00 00 00 00 00 00 00 00 90
[14:10:10][E][CMD:843]: 1970-01-01 01:06 02 00 00 00 00 00 00 00 00 00 00 00 90
[14:10:11][E][CMD:843]: 1970-01-01 01:06 41 00 00 00 00 00 00 00 00 00 00 00 90
[14:10:15][E][CMD:843]: 1970-01-01 01:06 BF 00 00 00 00 00 00 00 00 00 00 00 90
[14:10:16][E][CMD:843]: 1970-01-01 01:06 F4 F8 00 00 00 00 00 00 00 00 00 00 90
[14:10:21][E][CMD:843]: 1970-01-01 01:06 30 04 00 00 00 00 00 00 00 00 00 00 90
[14:10:22][E][CMD:843]: 1970-01-01 01:06 F8 E4 E8 00 00 00 00 00 00 00 00 00 90
[14:10:22][E][CMD:843]: 1970-01-01 01:06 B2 96 00 00 00 00 00 00 00 00 00 00 90
[14:10:22][E][CMD:843]: 1970-01-01 01:06 17 49 4F 4E 45 20 20 20 20 20 20 46 41
[14:10:22][E][CMD:843]: 1970-01-01 01:06 4C 4C 49 54 41 20 20 20 20 20 1A 00 90
[14:10:23][D][sensor:094]: 'Heap Free': Sending state 192464.00000 B with 0 decimals of accuracy
[14:10:23][D][sensor:094]: 'Loop Time': Sending state 2755.00000 ms with 0 decimals of accuracy
[14:10:23][D][sensor:094]: 'Heap Max Block': Sending state 124916.00000 B with 0 decimals of accuracy
[14:10:26][E][CMD:843]: 1970-01-01 01:07 4E 00 00 00 00 00 00 00 00 00 00 00 90
[14:10:28][E][CMD:843]: 1970-01-01 01:07 F7 F7 08 00 00 00 00 00 00 00 00 00 77
[14:10:28][E][CMD:843]: 1970-01-01 01:07 F4 00 00 00 00 00 00 00 00 00 00 00 90
[14:10:32][E][CMD:843]: 1970-01-01 01:07 54 F2 38 00 00 00 00 00 00 00 00 00 90
[14:10:34][E][CMD:843]: 1970-01-01 01:07 F0 00 00 00 00 00 00 00 00 00 00 00 00
[14:10:38][E][CMD:843]: 1970-01-01 01:07 3F 00 00 00 00 00 00 00 00 00 00 00 90
And the YAML source:
##esp32
rxpin: "5" #GPIO pin to use for data receive (yellow line)
txpin: "4" #GPIO pin to use for data transmit (green line)
monitorpin: "7" #GPIO pin to use for monitoring module traffic such as RF or Expanders . Set to -1 to disable
# other config
esp32:
# variant: ESP32C3
board: esp32-c3-devkitm-1
framework:
type: arduino
version: recommended
external_components:
- source: github://Dilbert66/esphome-components@main #uncomment to use github repository
components: [vista_alarm_panel,binary_sensor,text_sensor]
refresh: 10min
esphome:
name: $name
friendly_name: $friendlyName
platformio_options:
board_build.extra_flags:
- "-include \"src/fix.h\""
- "-Wl,-Map,output.map"
includes:
- fix.h
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 192.168.0.31
gateway: 192.168.0.1
subnet: 255.255.255.0
ap:
ssid: "$name"
password: !secret espvista_wifi_password
captive_portal:
logger:
baud_rate: 115200
level: debug
api:
encryption:
key: "XXXXXXX...XXXXXXX"
safe_mode:
ota:
platform: esphome
password: !secret ota_password
#on_begin: #disabled due to bug in esphome
#switch.turn_off: connection_status_switch
time:
- platform: sntp
Panko74
(Gianluca)
February 26, 2025, 7:34am
239
I realized I commented out the
autopopulate: true
line at first because the Esphome Device Builder compiler was giving me the error:
[autopopulate] is an invalid option for [vista_alarm_panel]. Please check the indentation
but it’s not an indentation issue. I haven’t found any clues online about this option, which is currently blocking.
I would like to fix this because this library would be one of the best kudos-deserving implementation on my home assistant.
Dilbert66
(Alain)
February 26, 2025, 12:38pm
240
Remove it. It is not needed.
1 Like
Dilbert66
(Alain)
February 26, 2025, 12:43pm
241
There is something wrong your connection , wiring or circuit as the log shows garbage data. You might also want to use the “dev” version. It does not require the “fix” file.
Panko74
(Gianluca)
February 26, 2025, 8:47pm
242
That’s so strange, since the signals are quite clean.
Here is an oscilloscope shot from the RX pin (@GPIO5 ):
There is only a slight 200mV DC offset.
The TX and Monitor Pin shots (@GPIO4 and 7) look good as well.
If you need I can post them in the next posts.
Sorry, but I’m not sure I understand what to do about the “dev” version you mentioned.
If I try to exclude the fix the compiler response is:
Linking .pioenvs/vistaalarm2/firmware.elf
/data/cache/platformio/packages/[email protected] +2021r2-patch5/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: .pioenvs/vistaalarm2/src/main.cpp.o: in function `void esphome::api::UserServiceBase<int>::execute_<0>(std::vector<esphome::api::ExecuteServiceArgument, std::allocator<esphome::api::ExecuteServiceArgument> >, esphome::seq<0>)':
/data/build/vistaalarm2/src/esphome/components/api/user_services.h:57: undefined reference to `int esphome::api::get_execute_arg_value<int>(esphome::api::ExecuteServiceArgument const&)'
/data/cache/platformio/packages/[email protected] +2021r2-patch5/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: .pioenvs/vistaalarm2/src/main.cpp.o: in function `void esphome::api::UserServiceBase<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int>::execute_<0, 1>(std::vector<esphome::api::ExecuteServiceArgument, std::allocator<esphome::api::ExecuteServiceArgument> >, esphome::seq<0, 1>)':
/data/build/vistaalarm2/src/esphome/components/api/user_services.h:57: undefined reference to `int esphome::api::get_execute_arg_value<int>(esphome::api::ExecuteServiceArgument const&)'
/data/cache/platformio/packages/[email protected] +2021r2-patch5/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: .pioenvs/vistaalarm2/src/main.cpp.o: in function `void esphome::api::UserServiceBase<int, bool>::execute_<0, 1>(std::vector<esphome::api::ExecuteServiceArgument, std::allocator<esphome::api::ExecuteServiceArgument> >, esphome::seq<0, 1>)':
/data/build/vistaalarm2/src/esphome/components/api/user_services.h:57: undefined reference to `int esphome::api::get_execute_arg_value<int>(esphome::api::ExecuteServiceArgument const&)'
/data/cache/platformio/packages/[email protected] +2021r2-patch5/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: .pioenvs/vistaalarm2/src/main.cpp.o: in function `esphome::api::ListEntitiesServicesArgument::ListEntitiesServicesArgument()':
/data/build/vistaalarm2/src/esphome/components/api/api_pb2.h:886: undefined reference to `esphome::api::enums::ServiceArgType esphome::api::to_service_arg_type<int>()'
/data/cache/platformio/packages/[email protected] +2021r2-patch5/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: .pioenvs/vistaalarm2/src/main.cpp.o: in function `esphome::api::UserServiceBase<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int>::encode_list_service_response()':
/data/build/vistaalarm2/src/esphome/components/api/user_services.h:34: undefined reference to `esphome::api::enums::ServiceArgType esphome::api::to_service_arg_type<int>()'
/data/cache/platformio/packages/[email protected] +2021r2-patch5/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: .pioenvs/vistaalarm2/src/main.cpp.o: in function `esphome::api::ListEntitiesServicesArgument::ListEntitiesServicesArgument()':
/data/build/vistaalarm2/src/esphome/components/api/api_pb2.h:886: undefined reference to `esphome::api::enums::ServiceArgType esphome::api::to_service_arg_type<int>()'
collect2: error: ld returned 1 exit status
*** [.pioenvs/vistaalarm2/firmware.elf] Error 1
========================= [FAILED] Took 31.80 seconds =========================
Thank you for the help!
I feel like such a newb, but I’m also having trouble with the need to separate out Custom Components. All my code is 3 years old and I’ve been playing with the new code a couple of hours and pulling my hair out. Can someone explain the easiest way to upgrade to the latest code?
TexasGreg
(Greg)
February 27, 2025, 12:57pm
244
This is what I ended up with:
#for documentation see project at https://github.com/Dilbert66/esphome-VistaECP
substitutions:
name: "vistaalarm" #unique network name, system name
friendlyName: "Vista Alarm" #used as the friendly name of your application in HomeAssistant
panelId: "VistaAlarm" #used as the service variable name.
vista_alarm_panel:
id: $panelId
accesscode: "" #Only comes into effect if needed for arming and quickarm is not set
maxzones: "48" #maximum amount of zones that your panel supports
maxpartitions: "1" #maximum amount of partitions that your panel supports
defaultpartition: "1" #set to your main partition
vistadebuglevel: "1" #component debug level for messages back to normal
# Enroll your RF serial devices here. Format: serial#:loop#:zone# Each record is comma separated.
# For most devices loop1 is used such as 5800pir, other devices such as 5816 will use loop2.
# The A0 in your RF message indicates this device uses loop 1
rfseriallookup: "0091444:1:34" # Mail sensor on zone 34
#assign a new virtual keypad address to each active partition using programs *190 - *196
#and enter it below. For unused partitions, use 0 as the keypad address.
keypadaddr1: "17" #partition 1 virtual keyapd
keypadaddr2: "0" #partition 2 virtual keypad. set to 0 to disable
keypadaddr3: "0" #partition 3 virtual keypad. set to 0 to disable
##esp32
rxpin: "22" #GPIO pin to use for data receive (yellow line)
txpin: "21" #GPIO pin to use for data transmit (green line)
monitorpin: "18" #GPIO pin to use for monitoring module traffic such as RF or Expanders . Set to -1 to disable
# module addresses:
# 07 4229 zone expander zones 9-16
# 08 4229 zone expander zones 17-24
# 09 4229 zone expander zones 25-32
# 10 4229 zone expander zones 33-40
# 11 4229 zone expander zones 41 48
# 12 4204 relay module
# 13 4204 relay module
# 14 4204 relay module
# 15 4204 relay module
expanderaddr1: "0" # 1st zone expander emulator (4229) address to use . Set to 0 to disable.
expanderaddr2: "0" # 2nd expander emulator address to use . Set to 0 to disable.
relayaddr1: "0" # relay module emulation (4204) addresses. Set to 0 to disable
relayaddr2: "0"
relayaddr3: "0"
relayaddr4: "0"
ttl: "60000" # time to live in ms for zone/fire status before expiring;
quickarm: "false"
lrrsupervisor: "false" # set to true if we don't have an LRR monitoring supervisor we can emulate one to get the statuses
clean_build: "false"
esp32:
board: nodemcu-32s
framework:
type: arduino
version: recommended
external_components:
- source: github://Dilbert66/esphome-components@main
components: [vista_alarm_panel, binary_sensor, text_sensor]
refresh: 10min
esphome:
name: $name
friendly_name: $friendlyName
platformio_options:
build_flags:
- "-Wl,-Map,output.map"
wifi:
ssid:
password:
manual_ip:
static_ip: 192.168.1.199
gateway: 192.168.1.1
subnet: 255.255.255.0
dns1: 8.8.8.8
dns2: 4.2.2.4
# Enable fallback hotspot in case of connection failure
ap:
ssid: "$name"
password:
# Add WiFi power saving and connection improvements
power_save_mode: none
output_power: 20dB
fast_connect: true
reboot_timeout: 15min
logger:
baud_rate: 115200
level: INFO
logs:
esp32: ERROR # Only show errors, not warnings
component: ERROR # Only show errors, not warnings
api:
encryption:
key:
reboot_timeout: 15min
services:
- service: restart
then:
- switch.turn_on: restart_switch
switch:
- platform: restart
name: "${name} Restart"
id: restart_switch
ota:
platform: esphome
password: supersecretpassword
time:
- platform: sntp
binary_sensor:
- platform: template
name: "$name Trouble"
id_code: trbl
device_class: problem
publish_initial_state: true
- platform: template
name: "$name Bypass"
id_code: byp_1
publish_initial_state: true
- platform: template
name: "$name Away"
id_code: arma_1
publish_initial_state: true
- platform: template
name: "$name Stay"
id_code: arms_1
publish_initial_state: true
- platform: template
name: "$name Instant"
id_code: armi_1
publish_initial_state: true
- platform: template
name: "$name Night"
id_code: armn_1
publish_initial_state: true
- platform: template
name: "$name AC"
id_code: ac
device_class: plug
publish_initial_state: true
- platform: template
name: "$name Chime"
id_code: chm_1
publish_initial_state: true
- platform: template
name: "$name Check"
id_code: check
device_class: problem
publish_initial_state: true
- platform: template
name: "$name Alarm"
id_code: alm_1
publish_initial_state: true
- platform: template
name: "$name Battery"
id_code: bat
device_class: problem
publish_initial_state: true
- platform: template
name: "$name Fire"
id_code: fire_1
device_class: smoke
publish_initial_state: true
- platform: template
name: "$name Ready"
id_code: rdy_1
publish_initial_state: true
- platform: template
name: "$name Relay1"
id_code: r1
publish_initial_state: true
- platform: template
name: "$name Relay2"
id_code: r2
publish_initial_state: true
text_sensor:
- platform: template
name: "Smoke Alarm"
id_code: z1
- platform: template
name: "Bedroom 2 Windows"
id_code: z2
- platform: template
name: "Office Windows"
id_code: z3
- platform: template
name: "MBR Windows"
id_code: z4
- platform: template
name: "Bedroom 3 Windows"
id_code: z5
- platform: template
name: "Bedroom 1 Windows"
id_code: z6
- platform: template
name: "Front Door"
id_code: z7
- platform: template
name: "Back Door Living Room"
id_code: z8
- platform: template
name: "Back Door MBR"
id_code: z17
- platform: template
name: "Dining Room Windows"
id_code: z25
- platform: template
name: "Garage Windows"
id_code: z26
- platform: template
name: "Storage Room"
id_code: z27
- platform: template
name: "Regular Garage Doors"
id_code: z28
- platform: template
name: "Double Garage Door"
id_code: z29
- platform: template
name: "Single Garage Door"
id_code: z31
- platform: template
name: "Sprinkler Flow"
id_code: z33
- platform: template
name: "You Got Mail"
id_code: z34
- platform: template
name: "CO Detector Theater"
id_code: z35
- platform: template
name: "CO Detector BRS 2-3"
id_code: z36
- platform: template
name: "CO Detector MBR"
id_code: z37
- platform: template
name: "$name System Status"
id_code: system_status
icon: "mdi:shield"
- platform: template
name: "$name Lrr Msg"
id_code: lrr_msg
icon: "mdi:alert-box"
- platform: template
name: "$name RF Msg"
id_code: rf_msg
icon: "mdi:alert-box"
- platform: template
name: "$name Line1"
id_code: ln1_1
- platform: template
name: "$name Line2"
id_code: ln2_1
- platform: template
name: "$name Beeps"
id_code: bp_1
Thanks for the code. I’ll post my results later today. And I assume I replace all the files in esphome\vistaEcpInterface with the latest GitHub vista20SE ones?
TexasGreg
(Greg)
February 27, 2025, 3:49pm
246
I switched to using local files for components. If you do the same you need to add this components directory Dilbert66/esphome-components: Various esphome external components for auto loading from yaml configuration files
New VistaAlarm.yaml:
#for documentation see project at https://github.com/Dilbert66/esphome-VistaECP
substitutions:
name: "vistaalarm" #unique network name, system name
friendlyName: "Vista Alarm" #used as the friendly name of your application in HomeAssistant
panelId: "VistaAlarm" #used as the service variable name.
vista_alarm_panel:
id: $panelId
accesscode: "" #Only comes into effect if needed for arming and quickarm is not set
maxzones: "48" #maximum amount of zones that your panel supports
maxpartitions: "1" #maximum amount of partitions that your panel supports
defaultpartition: "1" #set to your main partition
vistadebuglevel: "1" #component debug level for messages back to normal
# Enroll your RF serial devices here. Format: serial#:loop#:zone# Each record is comma separated.
# For most devices loop1 is used such as 5800pir, other devices such as 5816 will use loop2.
# The A0 in your RF message indicates this device uses loop 1
rfseriallookup: "0091444:1:34" # Mail sensor on zone 34
#assign a new virtual keypad address to each active partition using programs *190 - *196
#and enter it below. For unused partitions, use 0 as the keypad address.
keypadaddr1: "17" #partition 1 virtual keyapd
keypadaddr2: "0" #partition 2 virtual keypad. set to 0 to disable
keypadaddr3: "0" #partition 3 virtual keypad. set to 0 to disable
##esp32
rxpin: "22" #GPIO pin to use for data receive (yellow line)
txpin: "21" #GPIO pin to use for data transmit (green line)
monitorpin: "18" #GPIO pin to use for monitoring module traffic such as RF or Expanders . Set to -1 to disable
# module addresses:
# 07 4229 zone expander zones 9-16
# 08 4229 zone expander zones 17-24
# 09 4229 zone expander zones 25-32
# 10 4229 zone expander zones 33-40
# 11 4229 zone expander zones 41 48
# 12 4204 relay module
# 13 4204 relay module
# 14 4204 relay module
# 15 4204 relay module
expanderaddr1: "0" # 1st zone expander emulator (4229) address to use . Set to 0 to disable.
expanderaddr2: "0" # 2nd expander emulator address to use . Set to 0 to disable.
relayaddr1: "0" # relay module emulation (4204) addresses. Set to 0 to disable
relayaddr2: "0"
relayaddr3: "0"
relayaddr4: "0"
ttl: "60000" # time to live in ms for zone/fire status before expiring;
quickarm: "false"
lrrsupervisor: "false" # set to true if we don't have an LRR monitoring supervisor we can emulate one to get the statuses
clean_build: "false"
esp32:
board: nodemcu-32s
framework:
type: arduino
version: recommended
external_components:
- source: components
components: [vista_alarm_panel, binary_sensor, text_sensor]
refresh: 10min
esphome:
name: $name
friendly_name: $friendlyName
platformio_options:
build_flags:
- "-Wl,-Map,output.map"
wifi:
ssid:
password:
manual_ip:
static_ip: 192.168.1.199
gateway: 192.168.1.1
subnet: 255.255.255.0
dns1: 8.8.8.8
dns2: 4.2.2.4
# Enable fallback hotspot in case of connection failure
ap:
ssid:
password:
# Add WiFi power saving and connection improvements
power_save_mode: none
output_power: 20dB
fast_connect: true
reboot_timeout: 15min
logger:
baud_rate: 115200
level: INFO
logs:
esp32: ERROR # Only show errors, not warnings
component: ERROR # Only show errors, not warnings
api:
encryption:
key:
reboot_timeout: 15min
services:
- service: restart
then:
- switch.turn_on: restart_switch
switch:
- platform: restart
name: "Restart"
id: restart_switch
ota:
platform: esphome
password:
time:
- platform: sntp
binary_sensor:
- platform: template
name: "Trouble"
device_class: problem
id_code: trbl
publish_initial_state: true
- platform: template
name: "Bypass"
device_class: window
id_code: byp_1
publish_initial_state: true
- platform: template
name: "Fire"
device_class: smoke
id_code: fire_1
publish_initial_state: true
- platform: template
name: "Away"
id_code: arma_1
publish_initial_state: true
- platform: template
id_code: arm_1
name: "Armed"
publish_initial_state: true
- platform: template
id_code: arms_1
name: "Stay"
publish_initial_state: true
- platform: template
name: "Ready"
device_class: lock
id_code: rdy_1
publish_initial_state: true
- platform: template
name: "AC Power"
device_class: plug
id_code: ac
publish_initial_state: true
- platform: template
name: "Battery"
device_class: problem
id_code: bat
publish_initial_state: true
- platform: template
name: "Chime"
id_code: chime_1
publish_initial_state: true
text_sensor:
- platform: template
name: "Smoke Alarm"
id_code: z1
- platform: template
name: "Bedroom 2 Windows"
id_code: z2
- platform: template
name: "Office Windows"
id_code: z3
- platform: template
name: "MBR Windows"
id_code: z4
- platform: template
name: "Bedroom 3 Windows"
id_code: z5
- platform: template
name: "Bedroom 1 Windows"
id_code: z6
- platform: template
name: "Front Door"
id_code: z7
- platform: template
name: "Back Door Living Room"
id_code: z8
- platform: template
name: "Back Door MBR"
id_code: z17
- platform: template
name: "Dining Room Windows"
id_code: z25
- platform: template
name: "Garage Windows"
id_code: z26
- platform: template
name: "Storage Room"
id_code: z27
- platform: template
name: "Regular Garage Doors"
id_code: z28
- platform: template
name: "Double Garage Door"
id_code: z29
- platform: template
name: "Single Garage Door"
id_code: z31
- platform: template
name: "Sprinkler Flow"
id_code: z33
- platform: template
name: "You Got Mail"
id_code: z34
- platform: template
name: "CO Detector Theater"
id_code: z35
- platform: template
name: "CO Detector BRS 2-3"
id_code: z36
- platform: template
name: "CO Detector MBR"
id_code: z37
- platform: template
name: "$name System Status"
id_code: system_status
icon: "mdi:shield"
- platform: template
name: "$name Lrr Msg"
id_code: lrr_msg
icon: "mdi:alert-box"
- platform: template
name: "$name RF Msg"
id_code: rf_msg
icon: "mdi:alert-box"
- platform: template
name: "$name Line1"
id_code: ln1_1
- platform: template
name: "$name Line2"
id_code: ln2_1
- platform: template
name: "$name Beeps"
id_code: bp_1