Dahua VTO to MQTT Broker

Great suggestion, thanks

currently the code is in php, need to tranform it to python, will get to it one day (hopefully soon)

1 Like

Great information, thanks all :slight_smile:. I have the VTO3211D-P-S1 and have ordered the S4. I have the mqtt integration working well. Notifications to mobile phones etc. I had relays on both gates in home assistant already, so was easy to use those to open the gates. I have started using mifare cards for access. Where I’m struggling is with the automation to notify which user opened the gate based on card number. mqtt knowledge minimal at best. If someone could point me in the right direction extracting the “CardNo” to use in automation notifications, I would be most grateful.

Hello
sheppie1968 I have the same VTO. Can you share your code for Home assistant. Because I don’t know how to do it

This is an interesting piece of software. Certainly for automations this is going to be useful. I have Dahua Cameras using BlueIris setup and am looking to invest in a VTO2111D-WP Dahua Doorbell.

For starters, I’m trying to see how I might setup a basic video doorbell experience for the family using HA. In that, when someone rings the doorbell - a user gets a notification on their phone that someone is at the door - they can click through to a LoveLace UI section and interact (via audio and video) with the person at the door before taking a follow up action (e.g open the door).

I guess what I’m trying to say - very inarticulately - is can HA be an absolute replacement for the Dauha Mobile App?

please make the HACS version!!!

This is awesome, and just what i’ve been looking for! Couple of questions as I scan through the thread:

  1. Why are folks picking the VTO211D-WP (1MP) vs the [VTO2211G-WP] (2MP and larger viewing angle) (https://www.dahuasecurity.com/products/All-Products/Video-Intercoms/IP-Products/Outdoor-Stations/VTO2211G-WP?us)

  2. How are people thinking about sending audio back from HA to the doorbell?
    SIP Client

I have a few amazon tablets (runnning lineageOS) around the house. What i’m looking to do is when the doorbell is rung (using MQTT and node-red) all devices get an alert (browser_mod.popup or actionable notifications on mobile).

I’m assuming the process could be:

  1. Doorbell is rung
  2. MQTT picks that up via this container
  3. Grab audio & Video feed and send to HA app via actionable notifications (open door, or lovelace card?) - its not quite a call though.
    it may be better to initiate a call through a local PBX instead of use HA here? separate app i know, but more designed for a ‘call’.

i wonder if there is any desire for the HA devs to explore 2 way calling with a PBX add-on?
this isnt my area of expertise at all so welcome any thoughts

you already raised this above - it’s a hassio add-on and a docker container.
Both very easy options to implement.

If you want something else, you’ll either need to contribute, or wait until its built - please be respectful of the people who take their time to build these things.
(Also HACS are for custom_components)

Hello
I have Dahua VTO3211D-P4 with 4 bell buttons. Is it possible to get all 4 buttons signal to mqtt. I’m trying but I don’t know how to do it. Can you please help me.

Thanks

1 Like

Probably each of the button will trigger the same event but the event data will be different,
What would you like to achieve in your automation as result of identifying the button that was pressed?
Thanks

I want to make external gong for every button. But if I look BackKeyLight there is Data state for all buttons 1 when it starts ringing and 0 when it ends ringing.

1 Like

Is there invite event or just the one you’ve mentioned?

I don’t know, where can i found invite event

Can you post the log of DahuaVTO2MQTT once you’ve clicked the buttons?

Thanks

Here it is. I push all for buttons with no answer.

2020-09-06 15:53:14 stdout MQTT message published, Topic: DahuaVTO/BackKeyLight/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:53:14”,“State”:0,“UTC”:1599411194}}
2020-09-06 15:53:14 stdout Event BackKeyLight with State 0
2020-09-06 15:53:14 stdout MQTT message published, Topic: DahuaVTO/KeepLightOn/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:53:14”,“Status”:“Off”,“UTC”:1599411194}}
2020-09-06 15:53:14 stdout Event KeepLightOff
2020-09-06 15:53:14 stdout MQTT message published, Topic: DahuaVTO/VideoBlind/Event, Payload: {“Action”:“Stop”,“Data”:{“LocaleTime”:“2020-09-06 17:53:14”,“UTC”:1599411194}}
2020-09-06 15:53:14 stdout Event VideoBlind stopped
2020-09-06 15:53:13 stdout keepAlive back
2020-09-06 15:52:43 stdout MQTT message published, Topic: DahuaVTO/KeepLightOn/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:52:42”,“Status”:“On”,“UTC”:1599411162}}
2020-09-06 15:52:43 stdout Event KeepLightOn
2020-09-06 15:52:43 stdout MQTT message published, Topic: DahuaVTO/VideoBlind/Event, Payload: {“Action”:“Start”,“Data”:{“LocaleTime”:“2020-09-06 17:52:42”,“UTC”:1599411162}}
2020-09-06 15:52:43 stdout Event VideoBlind started
2020-09-06 15:52:43 stdout MQTT message published, Topic: DahuaVTO/CallNoAnswered/Event, Payload: {“Action”:“Start”,“Data”:{“CallID”:“27”,“LocaleTime”:“2020-09-06 17:52:42”,“UTC”:1599411162}}
2020-09-06 15:52:43 stdout Event Call from VTO
2020-09-06 15:52:43 stdout MQTT message published, Topic: DahuaVTO/BackKeyLight/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:52:42”,“State”:1,“UTC”:1599411162}}
2020-09-06 15:52:43 stdout Event BackKeyLight with State 1
2020-09-06 15:52:38 stdout MQTT message published, Topic: DahuaVTO/BackKeyLight/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:52:37”,“State”:0,“UTC”:1599411157}}
2020-09-06 15:52:38 stdout Event BackKeyLight with State 0
2020-09-06 15:52:38 stdout MQTT message published, Topic: DahuaVTO/KeepLightOn/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:52:37”,“Status”:“Off”,“UTC”:1599411157}}
2020-09-06 15:52:38 stdout Event KeepLightOff
2020-09-06 15:52:38 stdout MQTT message published, Topic: DahuaVTO/VideoBlind/Event, Payload: {“Action”:“Stop”,“Data”:{“LocaleTime”:“2020-09-06 17:52:37”,“UTC”:1599411157}}
2020-09-06 15:52:38 stdout Event VideoBlind stopped
2020-09-06 15:52:11 stdout keepAlive back
2020-09-06 15:52:06 stdout MQTT message published, Topic: DahuaVTO/KeepLightOn/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:52:06”,“Status”:“On”,“UTC”:1599411126}}
2020-09-06 15:52:06 stdout Event KeepLightOn
2020-09-06 15:52:06 stdout MQTT message published, Topic: DahuaVTO/VideoBlind/Event, Payload: {“Action”:“Start”,“Data”:{“LocaleTime”:“2020-09-06 17:52:06”,“UTC”:1599411126}}
2020-09-06 15:52:06 stdout Event VideoBlind started
2020-09-06 15:52:06 stdout MQTT message published, Topic: DahuaVTO/CallNoAnswered/Event, Payload: {“Action”:“Start”,“Data”:{“CallID”:“26”,“LocaleTime”:“2020-09-06 17:52:06”,“UTC”:1599411126}}
2020-09-06 15:52:06 stdout Event Call from VTO
2020-09-06 15:52:06 stdout MQTT message published, Topic: DahuaVTO/BackKeyLight/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:52:06”,“State”:1,“UTC”:1599411126}}
2020-09-06 15:52:06 stdout Event BackKeyLight with State 1
2020-09-06 15:51:17 stdout MQTT message published, Topic: DahuaVTO/BackKeyLight/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:51:16”,“State”:0,“UTC”:1599411076}}
2020-09-06 15:51:17 stdout Event BackKeyLight with State 0
2020-09-06 15:51:17 stdout MQTT message published, Topic: DahuaVTO/KeepLightOn/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:51:16”,“Status”:“Off”,“UTC”:1599411076}}
2020-09-06 15:51:17 stdout Event KeepLightOff
2020-09-06 15:51:17 stdout MQTT message published, Topic: DahuaVTO/VideoBlind/Event, Payload: {“Action”:“Stop”,“Data”:{“LocaleTime”:“2020-09-06 17:51:16”,“UTC”:1599411076}}
2020-09-06 15:51:17 stdout Event VideoBlind stopped
2020-09-06 15:51:11 stdout keepAlive back
2020-09-06 15:50:46 stdout MQTT message published, Topic: DahuaVTO/KeepLightOn/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:50:45”,“Status”:“On”,“UTC”:1599411045}}
2020-09-06 15:50:46 stdout Event KeepLightOn
2020-09-06 15:50:46 stdout MQTT message published, Topic: DahuaVTO/VideoBlind/Event, Payload: {“Action”:“Start”,“Data”:{“LocaleTime”:“2020-09-06 17:50:45”,“UTC”:1599411045}}
2020-09-06 15:50:46 stdout Event VideoBlind started
2020-09-06 15:50:46 stdout MQTT message published, Topic: DahuaVTO/CallNoAnswered/Event, Payload: {“Action”:“Start”,“Data”:{“CallID”:“25”,“LocaleTime”:“2020-09-06 17:50:45”,“UTC”:1599411045}}
2020-09-06 15:50:46 stdout Event Call from VTO
2020-09-06 15:50:46 stdout MQTT message published, Topic: DahuaVTO/BackKeyLight/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:50:45”,“State”:1,“UTC”:1599411045}}
2020-09-06 15:50:46 stdout Event BackKeyLight with State 1
2020-09-06 15:50:14 stdout MQTT message published, Topic: DahuaVTO/BackKeyLight/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:50:14”,“State”:0,“UTC”:1599411014}}
2020-09-06 15:50:14 stdout Event BackKeyLight with State 0
2020-09-06 15:50:14 stdout MQTT message published, Topic: DahuaVTO/KeepLightOn/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:50:14”,“Status”:“Off”,“UTC”:1599411014}}
2020-09-06 15:50:14 stdout Event KeepLightOff
2020-09-06 15:50:14 stdout MQTT message published, Topic: DahuaVTO/VideoBlind/Event, Payload: {“Action”:“Stop”,“Data”:{“LocaleTime”:“2020-09-06 17:50:14”,“UTC”:1599411014}}
2020-09-06 15:50:14 stdout Event VideoBlind stopped
2020-09-06 15:50:09 stdout keepAlive back
2020-09-06 15:49:44 stdout MQTT message published, Topic: DahuaVTO/KeepLightOn/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:49:42”,“Status”:“On”,“UTC”:1599410982}}
2020-09-06 15:49:44 stdout Event KeepLightOn
2020-09-06 15:49:44 stdout MQTT message published, Topic: DahuaVTO/VideoBlind/Event, Payload: {“Action”:“Start”,“Data”:{“LocaleTime”:“2020-09-06 17:49:42”,“UTC”:1599410982}}
2020-09-06 15:49:44 stdout Event VideoBlind started
2020-09-06 15:49:44 stdout MQTT message published, Topic: DahuaVTO/CallNoAnswered/Event, Payload: {“Action”:“Start”,“Data”:{“CallID”:“24”,“LocaleTime”:“2020-09-06 17:49:42”,“UTC”:1599410982}}
2020-09-06 15:49:44 stdout Event Call from VTO
2020-09-06 15:49:44 stdout MQTT message published, Topic: DahuaVTO/BackKeyLight/Event, Payload: {“Action”:“Pulse”,“Data”:{“LocaleTime”:“2020-09-06 17:49:42”,“State”:1,“UTC”:1599410982}}
2020-09-06 15:49:43 stdout Event BackKeyLight with State 1
2020-09-06 15:49:05 stdout keepAlive back

@bar do you remove your repo for ha addon?

Thanks

I removed it since I’m not using hass.io version no more (just ha docker), I couldn’t make it to get build once 9nly during installation,
Will get it back in few days (hopefully today, but can’t promise)

2 Likes

Hey guys,

Took me a few days for this noob but managed to get a docker for windows running to run this code. 2 days ago I didn’t even know what MQTT was!

I’m running from powershell cli “docker-compose -f vtorun.yaml up”

Its posting to the mcsMQTT broker plugin running on homeseer. Yes I’m from the dark side :smiley:

Looks good but it seems like the MQTT published messages are delayed or a bit hit and miss? Should’nt I see MQTT msgs from the VTO instantly? In the power cli sometimes the msgs come through delayed. I’m stuck on this one :frowning:

I’m trying to trigger based of @Quindor guide MQTT topic DahuaVTO/BackKeyLight/Even with payload 0 = off and 1 = On. Doorbell press so I can trigger something. Following his guide but trying to make it work for Homeseer.

My yaml config

version: '2'
services:
  dahuavto2mqtt:
    image: "eladbar/dahuavto2mqtt:latest"
    container_name: "dahuavto2mqtt"
    hostname: "dahuavto2mqtt"
    restart: always
    environment:
      - DAHUA_VTO_HOST=192.168.1.10
      - DAHUA_VTO_USERNAME=dummyuser
      - DAHUA_VTO_PASSWORD=dummypass
      - MQTT_BROKER_HOST=192.168.1.6
      - MQTT_BROKER_PORT=1883
      - MQTT_BROKER_TOPIC=DahuaVTO
dahuavto2mqtt    | Event Call from VTO
dahuavto2mqtt    | MQTT message published, Topic: DahuaVTO/CallNoAnswered/Event, Payload: {"Action":"Start","Data":{"CallID":"8","IsEncryptedStream":false,"LocaleTime":"2020-09-15 15:16:09","LockNum":2,"SupportPaas":false,"TCPPort":37777,"UTC":1600146969,"UserID":"9901"}}
dahuavto2mqtt    | Event: Invite,  Action , CallID 8 Lock Number 2
dahuavto2mqtt    | MQTT message published, Topic: DahuaVTO/Invite/Event, Payload: {"Action":"Pulse","Data":{"CallID":"8","IsEncryptedStream":false,"LocaleTime":"2020-09-15 15:16:09","LockNum":2,"SupportPaas":false,"TCPPort":37777,"UTC":1600146969,"UserID":"9901"}}
dahuavto2mqtt    | Event BackKeyLight with State 1
dahuavto2mqtt    | MQTT message published, Topic: DahuaVTO/BackKeyLight/Event, Payload: {"Action":"Pulse","Data":{"LocaleTime":"2020-09-15 15:16:09","State":1,"UTC":1600146969}}
dahuavto2mqtt    | Event BackKeyLight with State 2
dahuavto2mqtt    | MQTT message published, Topic: DahuaVTO/BackKeyLight/Event, Payload: {"Action":"Pulse","Data":{"LocaleTime":"2020-09-15 15:16:09","State":2,"UTC":1600146969}}
2 Likes

restored the repo

2 Likes

If you have a second VTO then I would have to create a second dahuavtomqtt docker container and point to the second VTO IP?

Just confirming :slight_smile:

I guess you are right, please let us know how it works, I will try that in 2 months