Installation Dahua VTO2211G-P-S2 PoE

Oui je me suis fortement inspiré de ce repos GitHub.
Juste, on ne peut pas faire de demande d’arrêt de sonnerie, j’ai fait une issue là-bas et aussi sur l’intégration Dahua. Le problème doit venir du firmware du VTO, j’ai désactivé le son de la sonnerie du coup et je n’ai pas trop cherché.

Sur le VTO je n’ai branché que le POE, le contact NO du relais et son commun, et le push il me semble (mais je ne m’en sert pas).

Oui je suis full local avec Asterix, sans serveur SIP dans le VTO, mais on doit pouvoir se passer d’Asterix et laisser le serveur SIP dans le VTO. Ca fonctionne comme ça, je n’ais plus trop envie d’y toucher maintenant que c’est en route.
Je n’ai pas de VTH, j’utilise une simple tablette Android avec Fully Kiosk

Attention en local, si tu veux utiliser l’audio bidirectionnel, il te faut un accès https à home assistant

J’ai un accès https avec un reverse proxy sur mon nas. Le VTH m’a bien servi a configurer le VTO, j’ai eu du mal à faire dialoguer les deux.
Le contact NO du relais et son commun => tu t’en sert pour quoi ? Tu as une alimentation 12 séparée ou le contact sec te suffit ?
Je n’ai pas bien compris ce que ça proposait à part que je trouve ça assez joli.
Pour le moment je cherche déjà comment câbler tout ça, il me reste des questions comme tu as pu le constater, ça urge car le portail et le portillon seront posés bientôt.

J’ai la même config pour le https, donc tu as bien ton accès https en local.

Le contact NO du relais et son commun, je m’en sert uniquement pour la lecture de badge. Si quelqu’un badge, ça ferme le relais quelques seconde et je le détecte dans HA via un carte électronique sous ESPHome en gros, donc le contact sec suffit, si ta carte ESPHome est alimentée par ailleurs (c’est mon cas).

En fait se relais sert à piloter une gâche électronique normalement, donc il se ferme un certain temps (légèrement configurable) dans plusieurs conditions ( demande du VTH d’ouvrir, demande par application mobile, ou badge)

Personnellement, je n’ai pas de VTH et je ne me sers pas de l’application mobile, donc si le relais se ferme, c’est uniquement dans le cas d’une demande par badge. Après c’est HA qui traite et qui fait une demande d’ouverture au portail via cette même carte sous ESPHome.

En gros mon VTO est utilisé comme ceci : la lecture de badge (via contact NO du relais qui va sur une carte sous ESPHome), le bouton d’appel (via integration DAHUA), la communication bidirectionnel (via Go2RTC) et la vidéo (via Frigate)

Mon portail est géré par HA, ce n’est pas le VTO qui le pilote directement

Pourquoi tu n’as pas laissé le VTO gérer le badge et l’ouverture ? Et sans ça, tu ne peux pas détecter le passage du badge sur le lecteur ? → Visiblement non, je n’ai pas cette entrée, dommage.

Je viens de comprendre un truc pas super cool : le badge déverrouille ce que l’on lui dit : soit le verrou 1, soit le verrou 2, soit les deux en fonction du badge. Il n’est donc pas possible d’utiliser le même badge pour ouvrir le portail ou le portillon. Avec l’autre portier que j’avais avant, si on badgeait ça ouvrait le verrou 1, si on laissait le badge plus longtemps ça déverouillait le verrou 2, je trouve ça mieux mais ça, ça ne fonctionne pas comme ça avec celui-ci.

Je n’ais pas trop compris ta réponse.
Le badge est bien lue par le VTO, qui pilote son relais quand le badge est connu. C’est ce relais qui est lue par une carte esphome qui remonte l’info à HA ( l’esphome agit un peu comme un proxy)
Je ne crois pas que l’intégration remonte cette information de badge, mais on peut peut être l’ajouter, je ne sais pas.

En fait le VTO, par sa sortie relais n’est pas compatible avec le mode de pilotage de mon moteur, donc j’ai été obligé de passer par HA pour « mettre en forme » la commande compatible avec mon portail

Pour ton soucis tu peux faire comme moi et passer par HA, et par exemple détecter double passage de badge dans un temps donné pour déclancher le portail en plus du portillon.

Oui ou si vraiment j’ai besoin d’ouvrir le portail :
Soit la télécommande du portail
Soit via HA (on doit pouvoir car le VTH le fait)
Soit en faisant un badge qui n’ouvre que le portail

Petite astuce : lorsque je scan un TAG, il apparait dans ha/config/tags, il est donc possible de gérer des automations lorsque l’on scan un tag. Par exemple, si je scan 2 fois le tag (ça ouvrira 2 fois le portillon) mais ça pourrait ouvrir le portal.

Pour autant, aucune entrée active sur mon appareil pour ouvrir le portail ou le portillon.
Et je ne comprend rien à felipecrs/dahua-vto-on-home-assistant: My personal Dahua VTO doorbell setup in Home Assistant, with no VTH or cloud dependency. qui ne s’est pas foulé pour expliquer comment on fait !

Utiliser frigate c’est obligatoire ? Perso via l’integration dahua j’ai déjà les flux vidéos !
Qui a utilisé ce portier sous HA ?

Visiblement on peut faire plein de choses avec dahua_VTO mais rien n’est expliqué !
Dans mon configuration.yaml j’ai : (d’ailleurs Visual Studio Code indique des erreurs)

# Chargement des fichiers YAML personnels (booleens)
input_boolean: !include_dir_merge_named /config/YAML/boolean_inputs

# Chargement des fichiers YAML personnels (nombres)
input_number: !include_dir_merge_named /config/YAML/number_inputs

# Chargement des fichiers YAML personnels (compteurs)
counter: !include_dir_merge_named /config/YAML/counters

# Sensers (dont Integrales)
sensor: !include_dir_merge_list /config/YAML/sensors

# Chargement des fichiers YAML personnels (templates)
template: !include_dir_list /config/YAML/templates

Dans /config/yaml/sensor j’ai ajouté un fichier : template_dahua_vto.yaml

#╔══════════════════════════════════════════════════════════════════════════════════╗
#║                    Configuration de l'integration Dahua VTOl                     ║
#║                                                                                  ║
#║  https://github.com/myhomeiot/DahuaVTO                                           ║
#╚══════════════════════════════════════════════════════════════════════════════════╝
- platform: dahua_vto
  name: Dahua VTO
  host: 192.168.x.xxx
  username: admin
  password: monmotdepasse
  scan_interval: 5

Puis dans une page j’ai ajouté :

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.dahua_vto
    channel: 1
    short_number: HA
styles:
  card:
    - font-size: 12px
    - font-weight: bold
color: auto
show_state: false

Quand je clic il me dit « déverouillage réussi » (le VTO parle)
Donc ça fait bien quelque chose !!!
Mais sur le site web myhomeiot/DahuaVTO: Control Dahua VTO/VTH devices from Home Assistant il y a plein de script dont je ne sais pas quoi faire, ni où mettre !

Lock example with call to open door service

timer:
  door_lock:
    name: Door Lock
    icon: mdi:timer

lock:
  - platform: template
    name: Door Lock
    value_template: "{{ not is_state('timer.door_lock', 'active') }}"
    optimistic: false
    lock:
    unlock:
      - service: dahua_vto.open_door
        data_template:
          entity_id: sensor.dahua_vto
          channel: 1
          short_number: HA

Automation example with doorbell ring and unlock events

- 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 }}"

Je ne comprend pas ce qu’il faut faire, au secours !!!
Où faut-il mettre tous ces fichiers ?

Bon j’ai passé le week-end. Si quelqu’un a réussi à faire marcher ça, ça m’intéresse.
Avec Dahua et/ou Dahua VTO.
J’ai les flux en direct via frigate et ça marche bien. J’aimerais décrocher / raccrocher !
Comment fait-on ?

Salut,

Je n’ai pas eu le temps de passer sur le forum ce weekend.

Alors il existe deux intégrations Dahua comme tu as pu le voir.
Il y a deux dépots Dahua officiel qui font à peut près la même chose .

  • sur Dahua tout est remonté dans des entités sans avoir rien à faire
  • sur Dahua_VTO il faut créer les entités à la main (voir les exemple sur la page du projet) dans le fichier « configuration.yaml » de home assistant, voici ce que j’ai de mon côté ( je n’ai ajouté que le déverrouillage, l’appui sur le bouton et la remonté d’info de l’état du portail) :
sensor:
 - platform: dahua_vto
   name: Dahua VTO
   host: 192.168.x.x
   username: xx
   password: xxx
   scan_interval: 5

timer:
 door_lock:
   name: Door Lock
   icon: mdi:timer

lock:
 - platform: template
   name: Door Lock
   value_template: "{{ not is_state('timer.door_lock', 'active') }}"
   optimistic: false
   lock:
   unlock:
     - service: dahua_vto.open_door
       data_template:
         entity_id: sensor.dahua_vto
         channel: 1
         short_number: HA
   unique_id: 434bbef2-5da5-4ac7-a36e-b93566c847ea
        
template:
 - trigger:
     platform: event
     event_type: dahua_vto
     event_data:
       Code: BackKeyLight
   binary_sensor:
     - name: Doorbell Ringing
       unique_id: doorbell_ringing
       device_class: sound
       auto_off: 00:01:00
       state: "{{ iif(trigger.event.data.Data.State | int in [1, 2], 'on', iif(trigger.event.data.Data.State | int == 0, 'off', states(this.entity_id))) }}"

 - trigger:
     - platform: event
       event_type: dahua_vto
       event_data:
         Code: BackKeyLight
   binary_sensor:
     - name: VTO Doorbell
       auto_off: 00:01:00
       state: "{{ trigger.event.data.Data.State | int in [1, 2] }}"
       unique_id: 434bbef2-5ca5-4ac7-a36e-b93566c847ea

Concernant ce dépôt : GitHub - felipecrs/dahua-vto-on-home-assistant: My personal Dahua VTO doorbell setup in Home Assistant, with no VTH or cloud dependency.
C’est en gros ce qu’un utilisateur à réussi à mettre en place en plus, c’est à faire en plus d’une des deux autres intégrations. il detail tout ce dont il y a besoin (frigate, asterisk…) et comment est architecturé l’ensemble

Pour répondre à ta question je n’ai réussi ni à décrocher, ni à raccrocher avec l’intégration.
Mais bon c’est un faux problème dans mon cas, en ayant configuré le 2way audio comme il faut tu peux envoyer du son au visiophone, et pour raccrocher, j’ai désactivé le son de la sonnerie.

Mais moi je suis dans un cas différent du tien car je n’ai pas de VTH, j’imagine que tu vas avoir un problème lorsque tu vas vouloir décrocher par home assitant, ton VTH va probablement continuer de sonner…

Tu as utilisé lequel finalement ?
Le Dahua ne remonte pas grand chose, il est incomplet et ne permet pas de décrocher / raccrocher.
Le Dahua VTO : j’ai en effet l’impression qu’il faut tout faire à la main. Et au vu des mises à jour il n’est plus maintenu.

Avec Dahua VTO, j’ai vu que l’on peut écouter les évènements, et je vois passer plein de trucs lorsque j’appel. Mais je n’ai pas compris comment envoyer des commandes.

Visiblement avec Dahua et Dahua VTO on doit pouvoir envoyer des commandes « manuellement », en tout cas c’est ce que me dit ChatGPT qui tourne en boucle en me demandant de supprimer Dahua VTO puis qu’on ne peut faire certaines choses qu’en l’utilisant : bref il est aussi perdu que moi !

Visiblement il doit falloir utiliser dahua.execute pour effectuer des actions… Ça te parle ?

Pour envoyer une commande (avec l’intégration Dahua VTO), il faut le faire par une « action », c’est dans « Outils de développement » / onglet « Action », dans la liste du cherche « dahua_vto.send_instance_command » ou « dahua_vto.send_command » suivant ce qui est décrit dans le GitHub.

Il fausse passer à l’édition en yaml pour rentrer les éléments de la même façon que sur le GitHub.

Tu dois te retrouver avec quelque chose comme ceci :

Tu peux choisir en face de event : « true », ça permet d’afficher le résultat dans les notifications

Donc ce serait avec dahua vto et pas dahua.
Est-ce que les deux puvent être utilisés simultanément ?

Et toi tu utilises quoi ? Dahua ou dahua_vto ?

Ah oui j’ai oublié de te le préciser, j’utilise Dahua VTO, donc l’exemple que je t’a mis c’est avec cette intégration.
Avec l’autre intégration on doit pouvoir faire les mêmes choses, mais je ne me rappelle plus trop.

Si je peux, je pense que je ne vais utiliser QUE Dahua parce que Dahua VTO n’a plus l’air maintenue et est un peu plus complexe à utiliser.
Mais si je ne peux pas faire d’execute…

Dans l’intégration Dahua, j’ai regardé vite fait, tu as la liste de tous les services qui sont implémentés : services and entities
Il suffit de le faire comme je t’ai expliqué plus haut, sauf qu’au lieu de chercher « send command », tu cherches le service que tu veux, par exemple « vto_cancel_call », et ça fera la même chose.
Mais comme je te l’ai dit, sur le mien, impossible de raccrocher, donc pas sur que ce service en question fonctionne sur le tien non plus

Oui j’ai vue tout ça.
Peut-être avec BackKeyLight States / Call answered from VTH

Mais visiblement on ne peut pas envoyer de requête manuellement comme avec Dahua VTO…

J’utilise un shell command pour ouvrir mon portail :

shell_command:
  ouverture_portail: "curl 'https://{{dahuaVtoIP}}/cgi-bin/accessControl.cgi?action=openDoor&channel=1&UserID=101&Type=Remote' --anyauth --insecure -u {{dahuaVtoUser}}:{{dahuaVtoPwd}}"

Je crois qu’on peut décrocher avec une commande.
Ça pourrait vraiment m’aider !
Il faut mettre ça dans un script ? Où places-tu ça ?

Dans le fichier configuration.yaml.
Et les variables {{dahuaVtoIP}}, {{dahuaVtoUser}} et {{dahuaVtoPwd}}, dans le fichier secrets.yaml

J’ai l’impression que le plus simple est d’abandonner et d’installer DMSS ou de retourner le Portier en Chine…
Je suis dépité !

J’en arrive à me demander si avec un serveur Asterisk ça ne vaudrait pas le coup ?
Par contre, sans HA, plus de portier !

Je ne comprend plus rien. Dahua_VTO sert à quoi ? Je ne sais pas, voir : Asterisk is used or not? · Issue #29 · felipecrs/dahua-vto-on-home-assistant

Asterisk ? Visiblement c’est fait pour avoir la notification d’appel à partir du portier, mais je l’ai sans, juste avec Dahua !
J’ai réussi à ouvrir le portail avec une commande shell en :

Dans configuration.yaml

shell_command:
  ouverture_portail: >
    curl -X POST "http://192.168.0.xxx/cgi-bin/accessControl.cgi?action=openDoor&channel=1&UserID=101&Type=Remote"
    --anyauth --insecure
    -u admin:thepassword

Dans Paramètres / Automatisation / script

alias: Ouvrir Portail
sequence:
  - action: shell_command.ouverture_portail
    data: {}
mode: single
description: ""

Toujours pas d’audio bi-directionnel.
J’ai ajouté le flux rtsp dans frigate mais je ne sais pas à quoi il sert parce que les flux vidéos sont donnés par Dahua !

EDIT : J’ai splitté les ça en fichiers avec des includes et l’utilisation de secret

Bon, après avoir ajouté le flux vidéo dans frigate, je me retrouve avec une caméra qui ne fonctionne plus.
Je pense que c’est une bétise.
J"ai tout expliqué ici : Configuration minimale pour Frigate

Si vous pouvez m’aider ça serait cool.