For the integration you should use user name and password which you use for VTO web interface which you can access by http://VTO-IP
Edit: Can you access your VTO using Dahua DMSS
application from the mobile?
For the integration you should use user name and password which you use for VTO web interface which you can access by http://VTO-IP
Edit: Can you access your VTO using Dahua DMSS
application from the mobile?
Thank you. It was a username and password problem, now the sensor is working. I’ll check everything else. Thanks a lot!
Hi,
I have connected my DAHUA VTO2022 to my HA.
My door is not directly connected to VTO but to HA with zigbee button.
I would like : When i press “open the door” on DMSS, HA open the door.
How i can see (entity?) when i press the button on DMSS (when i do it, my VTO say “the door is opened” but " [binary_sensor.portier_video_button_pressed]" stay at OFF).
I have seen message with the magnetic sensor but i don’t want to add fire as possible from door to VTO, i don’t want to drill )
Thanks for your answer
I wich you can understand, i’m french and i try to not use a translator
Thank you @myhomeiot for your great work! and for everyone here
I am a newpie who tried dozen of times to understand this without success
I did install HACS and Dahua + Dahua+VTO integrations.
Then I copied your examples to my yaml file but no success!
Here is my full yaml file hope you can help:
# Loads default set of integrations. Do not remove.
default_config:
# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
#Dahua
sensor:
- platform: dahua_vto
name: myvto
host: http://192.168.1.10
##timeout: TIMEOUT_HERE optional, default 10
##port: PORT_HERE optional, default 5000
username: !secret myvto_username
password: !secret myvto_password
##scan_interval: SCAN_INTERVAL_HERE optional, default 60
- platform: dahua_vto
name: vh1
host: http://192.168.1.11
##timeout: TIMEOUT_HERE optional, default 10
##port: PORT_HERE optional, default 5000
username: !secret vh1_username
password: !secret vh1_password
##scan_interval: SCAN_INTERVAL_HERE optional, default 60
automation myvto:
- alias: Dahua VTO All Events
mode: queued
trigger:
- platform: event
event_type: dahua_vto
action:
- service: persistent_notification.create
data:
title: "{{ trigger.event.data.Code if trigger.event.data.Code is defined else 'Unknown Code' }}"
message: "{{ trigger.event.data }}"
- alias: Dahua VTO Command Result
mode: queued
trigger:
- platform: event
event_type: dahua_vto
condition:
- condition: template
value_template: "{{ trigger.event.data.method is defined }}"
action:
- service: persistent_notification.create
data:
title: "{{ trigger.event.data.method }}"
message: "{{ trigger.event.data }}"
- alias: Dahua VTO
mode: queued
trigger:
- platform: event
event_type: dahua_vto
event_data:
Code: BackKeyLight
action:
- choose:
- conditions: >
{{ trigger.event.data.Data.State | int in [0, 1, 2, 5, 6] }}
sequence:
- service: persistent_notification.create
data:
title: "{{ 'Doorbell Ring' if trigger.event.data.Data.State | int in [1, 2] else 'Doorbell No Ring' }}"
message: "{{ trigger.event.data }}"
- conditions: >
{{ trigger.event.data.Data.State | int == 8 }}
sequence:
- service: timer.start
data:
entity_id: timer.door_lock
duration: 00:00:02 # VTO Unlock Period
- service: persistent_notification.create
data:
title: Unlock
message: "{{ trigger.event.data }}"
- conditions: >
{{ trigger.event.data.Data.State | int == 9 }}
sequence:
- service: persistent_notification.create
data:
title: Unlock failed
message: "{{ trigger.event.data }}"
- conditions: >
{{ trigger.event.data.Data.State | int == 11 }}
sequence:
- service: persistent_notification.create
data:
title: Device rebooted
message: "{{ trigger.event.data }}"
default:
- service: persistent_notification.create
data:
title: "Unknown state {{ trigger.event.data.Data.State | int }}"
message: "{{ trigger.event.data }}"
- service: dahua_vto.send_command
data:
entity_id: sensor.myvto
method: console.runCmd
params: { "command": "od" }
event: false
- service: dahua_vto.send_command
data:
entity_id: sensor.myvto
method: system.listService
- service: dahua_vto.send_command
data:
entity_id: sensor.myvto
method: magicBox.listMethod
- service: dahua_vto.send_command
data:
entity_id: sensor.myvto
method: magicBox.reboot
params: { delay: 60 }
tag: alert
- service: dahua_vto.send_command
data:
entity_id: sensor.myvto
method: magicBox.getBootParameter
params: { names: ["serverip", "ver"] }
# Make VTO Call
- service: dahua_vto.send_command
data:
entity_id: sensor.myvto
method: console.runCmd
params: { "command": "call 9901" }
event: false
# Cancel VTO Call
- service: dahua_vto.send_command
data:
entity_id: sensor.myvto
method: console.runCmd
params: { "command": "hc" }
event: false
# Clear VTH Call Records
- service: dahua_vto.send_instance_command
data:
entity_id: sensor.dahua_vth
method: RecordUpdater.clear
instance_params: { "name": "VideoTalkMissedLog" }
event: false
# Arming the VTH alarm
- service: dahua_vto.send_command
data:
entity_id: sensor.dahua_vth
method: configManager.setConfig
params:
{
"table": { "AlarmEnable": true, "CurrentProfile": "Outdoor" },
"name": "CommGlobal",
}
event: false
# Disarming the VTH alarm
- service: dahua_vto.send_command
data:
entity_id: sensor.dahua_vth
method: configManager.setConfig
params:
{
"table": { "AlarmEnable": false, "CurrentProfile": "AtHome" },
"name": "CommGlobal",
}
event: false
# Getting the VTH alarm status
- service: dahua_vto.send_command
data:
entity_id: sensor.dahua_vth
method: configManager.getConfig
params: { "name": "CommGlobal" }
event: true
timer:
door_lock:
name: Door Lock
icon: mdi:timer
lock:
- platform: template
name: Door Lock
value_template: "{{ not is_state('timer.door_lock', 'active') }}"
lock:
unlock:
- service: dahua_vto.open_door
data_template:
entity_id: sensor.myvto
channel: 1
short_number: HA
template:
- trigger:
- platform: event
event_type: dahua_vto
event_data:
Code: DoorStatus
binary_sensor:
- name: VTO Door Status
state: "{{ trigger.event.data.Data.Status | string == 'Open' }}"
device_class: door
Button:
type: "custom:button-card"
icon: "mdi:doorbell-video"
name: Doorstation - Door 1
tap_action:
action: call-service
service: dahua_vto.open_door
service_data:
entity_id: sensor.myvto
channel: 1
short_number: HA
styles:
card:
- font-size: 12px
- font-weight: bold
color: auto
show_state: false
Sample commands are provided for some VTH actions, such as setting alarm status and clearing missed call records. The VTH can be configured to stream video feeds from IP cameras other than the VTO. Does anybody know of a command(s) to make the VTH display one of these preconfigured camera feeds?
My use case would be an automation flow such that a motion detection event, if classified by AI tools as involving a person, would cause the relevant camera’s video stream to be displayed on the VTH.
Thanks.
Hello,
In my case in DMSS application when I try open the door which is not connected I get BackKeyLight
event with State
equal 9
(Unlock failed) you can use it to send command which press your zigbee button which will open the door.
Try Dahua VTO All Events or Dahua VTO automation from readme and check if you get this state when you try to open the door with DMSS application.
Hello,
You copied too much, the readme doesn’t not have configuration - it’s contains different code snippets which you need to use as example to automate your needs. So first try only with sensors definition and after restarting Home Assistant check that sensors in OK
state, when add Dahua VTO All Events
automation from this example and check events you get, etc
PS: If you a new in Home Assistant YAML programming and you just start integration of Dahua VTO/VTH you can try this integration which is much user friendly.
sensor:
- platform: dahua_vto
name: myvto
host: http://192.168.1.10
##timeout: TIMEOUT_HERE optional, default 10
##port: PORT_HERE optional, default 5000
username: !secret myvto_username
password: !secret myvto_password
##scan_interval: SCAN_INTERVAL_HERE optional, default 60
- platform: dahua_vto
name: vh1
host: http://192.168.1.11
##timeout: TIMEOUT_HERE optional, default 10
##port: PORT_HERE optional, default 5000
username: !secret vh1_username
password: !secret vh1_password
##scan_interval: SCAN_INTERVAL_HERE optional, default 60
Hi,
just to inform you I have a VTO9541D running with this integration. Works quite well.
I am just working on an automation to combine it with a nuki doorlock. I think just some small finetuning, and it works like a charm. Well done for this integration.
1st question: does this integration work with hacs 2.x? I am not sure if I should upgrade.
2nd question: my automation currently does not work with face unlock. Does this face unlock use a different return code, different from 8? Or why does my automation not respond as exptected to open the nuki.
Thanks
Hello, I’m glad that integration helps you.
Hi Guys, im looking at buying either the VTO2211 or VTO3211. Wondering which has better compatibility with HA and this addon for various functions like lock control/video/audio.
Also do others have any suggestions or preference between the 2?
It has to be POE powered and work standalone without an indoor screen
Just wanted to mention that I got this working with my Lorex 2k doorbell (so it should also work with the Amcrest and Dahua doorbells). I was already using DahuaVTO2MQTT to detect doorbell presses (which is all I needed it for), so when I found this integration, I figured I’d try it out.
Works perfectly:
trigger:
- alias: When Lorex 2K Doorbell button pressed
platform: event
event_type: dahua_vto
event_data:
Code: PhoneCallDetect
Action: Start
Since it just blindly parses all messages, I was able to use it for the PhoneCallDetect
event which is triggered on button press.
This greatly simplifies my setup by eliminating the need for the docker container and monitoring it to ensure it’s working. I also really like how small and simple the code is… I don’t need video or anything else - literally bare bones just to get doorbell events, so this is perfect.
hello community, I have a VTO 4202f-p-s2 which has more bells ( buttons). How to automate so that a light bulb turns on at home after pressing a button number 3? Thank you!
Hi,
The connection to my doorbell is lost after a while, do you know how to restart it ?
Best regards,
It retries after a delay (timeout
) of 10 seconds by default. It also tries to maintain a connection using a 60s keepalive (scan_interval
). Both are configurable.
For those that may have a fully integrated doorbell like I do (Dahua ASI6214S-PW) and were unable to get it working with the custom VTO integration, after reading this thread and not seeing it, here is how I got the doorbell unlocking with home assistant:
Add the following shell command in your configuration.yaml
file:
unlock_door: 'curl --digest -u "username:password" "http://<device_ip>/cgi-bin/accessControl.cgi?action=openDoor&channel=1&UserID=<user_id>"'
Replace username
, password
, <device_ip>
and ‘<user_id>’ with your actual credentials and device IP address.
Here my full post/explanation below if interested or if you have a similar device…
You can try Dahua VTO All Events
or Dahua VTO automation from readme and check if you get extra data for events where you pressed different buttons.
alias: Dahua bell
triggers:
So everything works as you expected?
A few questions,
I have played around with many of my doorbell functions.
I have gotten it to flash some lights which is great.
Now I would like it to push me a notification to (telegram/pushover, etc) that the bell had been rung.
- alias: Dahua VTO Ring
mode: queued
trigger:
- platform: event
event_type: dahua_vto
event_data:
Code: BackKeyLight
- choose:
- conditions: >
{{ trigger.event.data.Data.State | int in [0, 1, 2, 5, 6] }}
sequence:
- service: homeassistant.turn_on
entity_id: switch.kitchen_light_switch
can anyone tell me how to add a notify.xxx to this.
Also I would like a decent dmss app for android. Many I have tried I am not happy with.
Thanks
Simplest way would be to use the HA companion app and avoid having to mess with third party integrations. Once you have it set up, you would simply change your automation to this:
- alias: Dahua VTO Ring
mode: queued
trigger:
- platform: event
event_type: dahua_vto
event_data:
Code: BackKeyLight
- choose:
- conditions: >
{{ trigger.event.data.Data.State | int in [0, 1, 2, 5, 6] }}
sequence:
- service: homeassistant.turn_on
entity_id: switch.kitchen_light_switch
- service: notify.mobile_app_your_mobile
data:
message: Someone's at the door
title: Ding Dong
data:
color: blue
ttl: 0
priority: high
PS - You don’t need that choose
part since you only have one condition.