My goal is to arm/disarm the Honeywell Vista-20P that has been integrated with Home Assistant with Envisalink - Home Assistant
I’ve followed the instruction in the link above and added the Dashboard Cards to monitor and control the Vista 20P with Envisalink.
I can enter the code to arm or disarm, but the Alarm Panel Card doesn’t arm or disarm the Vista 20P.
Envisalink has a local web interface that does work. I can arm/disarm the Vista 20P with it.
Envisalink also has a web portal that controls the Vista 20P alarm system via the Envisalink hardware. That web portal also controls the Vista 20P and shows the status of all the alarm panel zones.
The part that doesn’t work is home assistant control panel.
I can’t arm or disarm the Vista 20P from the Home Assistant Alarm Control Panel Card.
I enabled debug to log the envisalink logs by adding the following to my configuration.yaml and restarting homeassistant.
logger:
default: info
logs:
homeassistant.components.envisalink: debug
pyenvisalink: debug
custom_components.envisalink_new: debug
Here are the logs form the tail command:
config tail -f home-assistant.log | grep pyenvisalink
2023-11-21 07:49:04.015 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] TX > b'^03,1,g$'
2023-11-21 07:49:04.016 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] TX > b'^03,1,h$'
2023-11-21 07:49:04.017 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] TX > b'^03,1,i$'
2023-11-21 07:49:04.018 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] TX > b'^03,1,j$'
2023-11-21 07:49:04.021 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] TX > b'^03,1,7$'
2023-11-21 07:49:04.025 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] ----------------------------------------
2023-11-21 07:49:04.025 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] RX < ^03,00$
2023-11-21 07:49:04.025 DEBUG (MainThread) [pyenvisalink.honeywell_client] Data received:^03,00$
2023-11-21 07:49:04.025 DEBUG (MainThread) [pyenvisalink.honeywell_client] Code:^03 Data:00
2023-11-21 07:49:04.025 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] calling handler: handle_command_response for code: ^03 with data: 00
2023-11-21 07:49:04.025 DEBUG (MainThread) [pyenvisalink.honeywell_client] Envisalink response: Command Accepted
2023-11-21 07:49:04.026 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] Invoking callback: callback_command_response
2023-11-21 07:49:04.026 DEBUG (MainThread) [pyenvisalink.alarm_panel] Callback has not been set by client.
2023-11-21 07:49:04.026 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] ----------------------------------------
2023-11-21 07:49:04.026 DEBUG (MainThread) [pyenvisalink.honeywell_client] Data received:^03,00$
2023-11-21 07:49:04.026 DEBUG (MainThread) [pyenvisalink.honeywell_client] Code:^03 Data:00
2023-11-21 07:49:04.026 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] calling handler: handle_command_response for code: ^03 with data: 00
2023-11-21 07:49:04.026 DEBUG (MainThread) [pyenvisalink.honeywell_client] Envisalink response: Command Accepted
2023-11-21 07:49:04.026 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] Invoking callback: callback_command_response
2023-11-21 07:49:04.026 DEBUG (MainThread) [pyenvisalink.alarm_panel] Callback has not been set by client.
2023-11-21 07:49:04.026 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] ----------------------------------------
2023-11-21 07:49:04.026 DEBUG (MainThread) [pyenvisalink.honeywell_client] Data received:^03,00$
2023-11-21 07:49:04.026 DEBUG (MainThread) [pyenvisalink.honeywell_client] Code:^03 Data:00
2023-11-21 07:49:04.026 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] calling handler: handle_command_response for code: ^03 with data: 00
2023-11-21 07:49:04.026 DEBUG (MainThread) [pyenvisalink.honeywell_client] Envisalink response: Command Accepted
2023-11-21 07:49:04.026 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] Invoking callback: callback_command_response
2023-11-21 07:49:04.027 DEBUG (MainThread) [pyenvisalink.alarm_panel] Callback has not been set by client.
2023-11-21 07:49:04.027 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] ----------------------------------------
2023-11-21 07:49:04.027 DEBUG (MainThread) [pyenvisalink.honeywell_client] Data received:^03,00$
2023-11-21 07:49:04.027 DEBUG (MainThread) [pyenvisalink.honeywell_client] Code:^03 Data:00
2023-11-21 07:49:04.027 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] calling handler: handle_command_response for code: ^03 with data: 00
2023-11-21 07:49:04.027 DEBUG (MainThread) [pyenvisalink.honeywell_client] Envisalink response: Command Accepted
2023-11-21 07:49:04.027 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] Invoking callback: callback_command_response
2023-11-21 07:49:04.027 DEBUG (MainThread) [pyenvisalink.alarm_panel] Callback has not been set by client.
2023-11-21 07:49:04.027 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] ----------------------------------------
2023-11-21 07:49:04.065 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] ----------------------------------------
2023-11-21 07:49:04.065 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] RX < ^03,00$
2023-11-21 07:49:04.065 DEBUG (MainThread) [pyenvisalink.honeywell_client] Data received:^03,00$
2023-11-21 07:49:04.065 DEBUG (MainThread) [pyenvisalink.honeywell_client] Code:^03 Data:00
2023-11-21 07:49:04.066 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] calling handler: handle_command_response for code: ^03 with data: 00
2023-11-21 07:49:04.066 DEBUG (MainThread) [pyenvisalink.honeywell_client] Envisalink response: Command Accepted
2023-11-21 07:49:04.066 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] Invoking callback: callback_command_response
2023-11-21 07:49:04.066 DEBUG (MainThread) [pyenvisalink.alarm_panel] Callback has not been set by client.
2023-11-21 07:49:04.066 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] ----------------------------------------
2023-11-21 07:49:04.609 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] ----------------------------------------
2023-11-21 07:49:04.609 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] RX < %00,01,1C28,08,00, DISARMED CHIME Ready to Arm $
2023-11-21 07:49:04.609 DEBUG (MainThread) [pyenvisalink.honeywell_client] Data received:%00,01,1C28,08,00, DISARMED CHIME Ready to Arm $
2023-11-21 07:49:04.610 DEBUG (MainThread) [pyenvisalink.honeywell_client] Code:%00 Data:01,1C28,08,00, DISARMED CHIME Ready to Arm
2023-11-21 07:49:04.610 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] calling handler: handle_keypad_update for code: %00 with data: 01,1C28,08,00, DISARMED CHIME Ready to Arm
2023-11-21 07:49:04.610 DEBUG (MainThread) [pyenvisalink.honeywell_client] Updating our local alarm state...
2023-11-21 07:49:04.610 DEBUG (MainThread) [pyenvisalink.honeywell_client] {"partition_state": "N/A", "alpha": " DISARMED CHIME Ready to Arm ", "ac_present": true, "beep": "off", "bypass": false, "chime": true, "entry_delay": false, "exit_delay": false, "last_armed_by_user": 3, "last_disarmed_by_user": 3, "ready": true, "bat_trouble": false, "trouble": false, "fire": false, "alarm": false, "alarm_fire_zone": false, "alarm_in_memory": false, "armed_away": false, "armed_stay": false, "armed_zero_entry_delay": false, "armed_bypass": false, "armed": false}
2023-11-21 07:49:04.611 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] Invoking callback: callback_keypad_update
2023-11-21 07:49:04.611 DEBUG (MainThread) [pyenvisalink.envisalink_base_client] ----------------------------------------
From the logs, you can see I sent the code “ghij”. ghij isn’t the proper code. The proper code is a number, but the Control Panel Card allows me to send any alfa/numeric character. Envisalink doesn’t do anything with the code it gets from Envisalink - Home Assistant
TX > b’^03,1,g$’
TX > b’^03,1,h$’
TX > b’^03,1,i$’
TX > b’^03,1,j$’
TX > b’^03,1,7$’
The TX 7 is when I try to send the ARM NIGHT code.
A TX 3 is when I try to send the ARM HOME code.
A TX 2 is when I try to send the ARM AWAY code.
Here is a screen shot of my Control Panel Card and associated zone status. The zone status does work and it follows the state open/close of each zone.
Here is a screenshot of the local web interface to envisalink. It also works and can arm/disarm the system.
Home Assistant won’t control envsalink.
I need help. I don’t know how to get this working.
Oh, and here is my EnvisaLink configuration from my configuration.yaml
envisalink:
host: 10.0.1.999
panel_type: HONEYWELL
user_name: guess
password: guessAgain
code: ""
port: 4025
evl_version: 4
keepalive_interval: 60
zonedump_interval: 60
timeout: 10
panic_type: Police
zones:
1:
name: "Front Door"
type: "opening"
2:
name: "Laundry Door"
type: "opening"
3:
name: "Garage Service Door"
type: "opening"
4:
name: "Garage Bay #3"
type: "opening"
5:
name: "Garage Bay #1 & #2"
type: "opening"
6:
name: "Upstairs Windows"
type: "opening"
7:
name: "Downstairs Windows"
type: "opening"
8:
name: "Back Sliding Door"
type: "opening"
9:
name: "Upstairs Motion"
type: "motion"
10:
name: "Furnace Rm Water Bug"
type: "opening"
11:
name: "Sump Pump Water Bug"
type: "opening"
partitions:
1:
name: "Envisalink Home Alarm"