J’ai changé les adresses IP des VTO / VTH et je n’arrive plus a faire dialoguer les deux.
Si je remet les deux anciennes IP ça marche mais dès que je remet les nouvelles ça ne fonctionne pas. Une idée ?
EDIT :
Dans le VTH il faut entrer le MDP du VTH et on a accès à l’adresse IP du VTO.
Ça fonctionne !
Dans Home Assistant, j’ai supprimé le VTO puis re-créé le VTO avec la bonne IP.
J’ai ajouté la caméra dans Frigate :
version: 0.16-0
# Pour reset mot de passe activer les deux lignes en dessous
# Relancer le docker puis lancer la commande
# docker logs frigate
# Vous verrez le mot de passe nouvellement généré
#auth:
# reset_admin_password: true
mqtt:
# Optional: Enable mqtt server (default: shown below)
enabled: true
# Required: host name
host: 192.168.0.52
# Optional: port (default: shown below)
port: 1883
# Optional: topic prefix (default: shown below)
# NOTE: must be unique if you are running multiple instances
topic_prefix: frigate
# Optional: client id (default: shown below)
# NOTE: must be unique if you are running multiple instances
client_id: frigate
# Optional: user
# NOTE: MQTT user can be specified with an environment variable or docker secrets that must begin with 'FRIGATE_'.
# e.g. user: '{FRIGATE_MQTT_USER}'
user: '{FRIGATE_MQTT_USER}'
# Optional: password
# NOTE: MQTT password can be specified with an environment variable or docker secrets that must begin with 'FRIGATE_'.
# e.g. password: '{FRIGATE_MQTT_PASSWORD}'
password: '{FRIGATE_MQTT_PASSWORD}'
#===============================================================================
#= Google Coral USB key =
#===============================================================================
detectors:
coral:
type: edgetpu # Utilise le Edge TPU de la clé Coral
device: usb # Spécifie que la clé est connectée en USB
#===============================================================================
#= Optional: Snapshot configuration =
#===============================================================================
# Optional: Snapshot configuration
snapshots:
enabled: true
# Optional: save a clean PNG copy of the snapshot image (default: shown below)
clean_copy: true
# Optional: print a timestamp on the snapshots (default: shown below)
timestamp: true
# Optional: draw bounding box on the snapshots (default: shown below)
bounding_box: true
# Optional: crop the snapshot (default: shown below)
crop: false
# Optional: Camera override for retention settings (default: global values)
retain:
# Required: Default retention days (default: shown below)
default: 15
# Optional: Per object retention days
objects:
person: 15
#===============================================================================
#= go2rtc =
#===============================================================================
go2rtc:
streams:
camera_jardin:
- rtsp://{FRIGATE_CAMERA_JARDIN_LOGIN}:{FRIGATE_CAMERA_JARDIN_PASSWORD}@192.168.0.56:554/Streaming/Channels/101
camera_jardin_sub:
- rtsp://{FRIGATE_CAMERA_JARDIN_LOGIN}:{FRIGATE_CAMERA_JARDIN_PASSWORD}@192.168.0.56:554/Streaming/Channels/102
dahua_portier_vto:
# H264 720p
- echo:/config/scripts/fix_vto_codecs.sh
ffmpeg:rtsp://{FRIGATE_DAHUA_VTO_LOGIN}:{FRIGATE_DAHUA_VTO_PASSWORD}@192.168.0.65:554/cam/realmonitor?channel=1&subtype=0#video=copy
# PCMA, 2-way audio
- echo:/config/scripts/fix_vto_codecs.sh
rtsp://{FRIGATE_DAHUA_VTO_LOGIN}:{FRIGATE_DAHUA_VTO_PASSWORD}@192.168.0.65:554/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif#media=audio#backchannel=1
# AAC
- rtsp://{FRIGATE_DAHUA_VTO_LOGIN}:{FRIGATE_DAHUA_VTO_PASSWORD}@192.168.0.65:554/doorbell_hd?audio=aac
dahua_portier_vto_sub:
# H264, AAC D1
- echo:/config/scripts/fix_vto_codecs.sh
ffmpeg:rtsp://{FRIGATE_DAHUA_VTO_LOGIN}:{FRIGATE_DAHUA_VTO_PASSWORD}@192.168.0.65:554/cam/realmonitor?channel=1&subtype=1#video=copy#audio=copy
# PCMA
- rtsp://{FRIGATE_DAHUA_VTO_LOGIN}:{FRIGATE_DAHUA_VTO_PASSWORD}@192.168.0.65:554/doorbell?audio=pcma&backchannel=0
ffmpeg:
path: '5.0'
webrtc:
listen: :8555 # external TCP/UDP port
candidates:
- 192.168.0.60:8555
- stun:8555
#===============================================================================
#= Caméras =
#= =
#= 8555 : port go2rtc =
#= 8554 : Lecture pour go2rtc =
#===============================================================================
cameras:
# Flux vidéo de la caméra jardin arrière
camera_jardin:
ffmpeg:
# Optional: global hwaccel args (default: auto detect)
# NOTE: See hardware acceleration docs for your specific device
hwaccel_args: auto
inputs:
- path: rtsp://127.0.0.1:8554/camera_jardin
input_args: preset-rtsp-restream
roles:
- record
- path: rtsp://127.0.0.1:8554/camera_jardin_sub
input_args: preset-rtsp-restream
roles:
- detect
detect:
enabled: true
width: 704 # largeur de l'image du flux secondaire (en pixels)
height: 576 # hauteur de l'image du flux secondaire (en pixels)
fps: 6
objects:
track:
- person
- cat
- dog
live:
streams:
main_stream: camera_jardin
sub_stream: camera_jardin_sub
onvif:
host: 192.168.0.56
port: 80 # Dans caméra, Configuration / Réglages de base / Port => Port du serveur
user: '{FRIGATE_CAMERA_JARDIN_PTZ_LOGIN}'
password: '{FRIGATE_CAMERA_JARDIN_PTZ_PASSWORD}'
ignore_time_mismatch: True
dahua_portier_vto:
enabled: true
ffmpeg:
hwaccel_args: auto
inputs:
- path: rtsp://127.0.0.1:8554/dahua_portier_vto
input_args: preset-rtsp-restream-low-latency
roles:
- audio # Pour activer l'audio
- path: rtsp://127.0.0.1:8554/dahua_portier_vto_sub
input_args: preset-rtsp-restream-low-latency
roles:
- detect
output_args:
record: preset-record-generic-audio-aac
detect:
enabled: false # Désactive la détection
record:
enabled: false # Désactive l'enregistrement
live:
streams:
main_stream: dahua_portier_vto
sub_stream: dahua_portier_vto_sub
#===============================================================================
#= Détections / Enregistrements =
#===============================================================================
# Optional: Record configuration
# NOTE: Can be overridden at the camera level
motion:
mask: 0.036,0.023,0.574,0.025,0.576,0.075,0.039,0.074
record:
enabled: true
# Optional: Number of minutes to wait between cleanup runs (default: shown below)
# This can be used to reduce the frequency of deleting recording segments from disk if you want to minimize i/o
expire_interval: 60
# Optional: Retention settings for recording
retain:
# Optional: Number of days to retain recordings regardless of events (default: shown below)
# NOTE: This should be set to 0 and retention should be defined in events section below
# if you only want to retain recordings of events.
days: 15
# Optional: Mode for retention. Available options are: all, motion, and active_objects
# all - save all recording segments regardless of activity
# motion - save all recordings segments with any detected motion
# active_objects - save all recording segments with active/moving objects
# NOTE: this mode only applies when the days setting above is greater than 0
mode: active_objects
# Optional: Event recording settings
alerts:
retain:
days: 15
pre_capture: 10
post_capture: 10
detections:
retain:
days: 15
pre_capture: 10
post_capture: 10
#===============================================================================
#= Détections =
#===============================================================================
objects:
track:
- person
- cat
- dog
# Désactiver le certificat pour le reverse proxy
tls:
enabled: false
detect:
enabled: true
# ngrok:
# command: ngrok tcp 8555 --authtoken 2n9QQDjr6R6IHQx6maGlkdHA7YP_7HumqRMbHec2H1Mbfpvgp
# #command: ngrok start --all tcp 8555 --authtoken 2n9QQDjr6R6IHQx6maGlkdHA7YP_7HumqRMbHec2H1Mbfpvgp
Ce qui fonctionne :
Dans Frigate, je peux voir le flux de la caméra : le main_stream et le sub_stream (quand on clic sur la vignette, roue crantée).
Les deux streams ont environ 0,5 secondes de retard, aussi bien le main que le sub, rien de bien grave.
Le stream main indique :
- Audio disponible pour ce flux
- Conversation bidirectionnelle disponible pour ce flux
Le stream sub indique :
- Audio disponible pour ce flux
- Conversation bidirectionnelle non disponible pour ce flux
Déjà c’est bizarre. Peut-être que je devrait recopier les infos audio du main sur le sub.
Déjà, j’ai testé sur tel portable et sur mon PC portable, l’audio est bien bi-directionnel et ça c’est carrément cool, sans cela, impossible de faire fonctionner le portier avec HA.
Truc à savoir : le premier qui prend est le seul qui peut parler.
Comme on ne peut pas décrocher, je serais sans doute contraint de retirer la sonnerie du portier comme l’a fait @alex71 .
Ce qui reste à faire fonctionner :
- Ma carte advanced-camera-card était tout simplement inutilisable : super lente (plusieurs secondes de retard), qualité horrible, pas de son. Il y a un truc qui cloche.
Normalement ce sont les flux de Frigate, les mêmes que je vois super bien quand je clic sur Frigate !
J’ai repris la carte donnée ici et fait quelques modification pour matcher avec mes entrées :
type: custom:advanced-camera-card
cameras:
- camera_entity: camera.dahua_portier_vto
live_provider: go2rtc
go2rtc:
stream: dahua_portier_vto
mode:
- webrtc
image:
refresh_seconds: 1
dimensions:
aspect_ratio: "16:9"
live:
controls:
builtin: false
zoomable: true
show_image_during_load: true
draggable: false
lazy_unload:
- unselected
- hidden
microphone:
always_connected: false
disconnect_seconds: 120
mute_after_microphone_mute_seconds: 120
auto_unmute:
- microphone
menu:
buttons:
snapshots:
enabled: false
fullscreen:
enabled: false
cameras:
enabled: false
live:
enabled: false
clips:
enabled: false
microphone:
type: toggle
priority: 49
mute:
enabled: true
style: outside
position: top
button_size: 85
alignment: right
status_bar:
style: none
profiles:
- low-performance
overrides:
- conditions:
- condition: microphone
connected: true
merge:
menu:
buttons:
microphone:
enabled: true
elements:
- type: custom:advanced-camera-card-conditional
conditions:
- condition: state
state: "on"
entity: input_boolean.portier_calling
elements:
- type: custom:advanced-camera-card-menu-icon
icon: mdi:phone-incoming
alignment: opposing
priority: 39
style:
color: lightgreen
tap_action:
- action: perform-action
data:
entity_id: input_boolean.portier_calling
perform_action: input_boolean.turn_off
- action: custom:advanced-camera-card-action
advanced_camera_card_action: microphone_unmute
- type: custom:advanced-camera-card-conditional
conditions:
- condition: state
state: "off"
entity: input_boolean.portier_calling
- condition: microphone
connected: false
elements:
- type: custom:advanced-camera-card-menu-icon
icon: mdi:phone-outgoing
alignment: opposing
priority: 39
style:
color: Chartreuse
tooltiptext: dfldfkgm
tap_action:
- action: custom:advanced-camera-card-action
advanced_camera_card_action: microphone_unmute
- type: custom:advanced-camera-card-conditional
conditions:
- condition: state
state: "on"
entity: input_boolean.portier_calling
elements:
- type: custom:advanced-camera-card-menu-icon
icon: mdi:phone-ring
alignment: opposing
priority: 40
style:
color: red
tap_action:
- action: perform-action
data:
entity_id: input_boolean.portier_calling
perform_action: input_boolean.turn_off
- type: custom:advanced-camera-card-conditional
conditions:
- condition: state
state: "off"
entity: input_boolean.portier_calling
- condition: microphone
connected: true
elements:
- type: custom:advanced-camera-card-menu-icon
icon: mdi:phone-hangup
alignment: opposing
priority: 40
style:
color: red
tap_action:
- action: custom:advanced-camera-card-action
advanced_camera_card_action: microphone_disconnect
- action: custom:advanced-camera-card-action
advanced_camera_card_action: mute
- type: custom:advanced-camera-card-menu-state-icon
entity: input_boolean.portier_do_not_disturb
state_color: true
tap_action:
action: toggle
alignment: opposing
priority: 41
- Comment activer le son + micro pour récupérer les flux frigate ?
EDIT : J’ai modifié la carte et créé 2 boolean dans les fichiers yaml :
- input_boolean.portier_calling
- input_boolean.portier_do_not_disturb
input_boolean.portier_calling s’active quand quelqu’un appel sur le portier
Si input_boolean.portier_calling n’est pas remis à false (donc raccrocher ou décrocher) au bout de 20 seconde il est remis à false.
Tous les champs semblent ne pas tous avoir l’effet désiré !
Par contre le champ volume de l’appareil permet de couper tout le son du portier.
C’est dommage de se passer de ça !
Est-il possible de changer le volume ? Si on pouvait, je mettrais le volume à 100 et lorsque l’on décroche je le mettrais à 0 et remis à 100 lorsque l’on raccroche.
Franchement Dahua a tout fait pour que ce ne soit pas utilisable par Home Assistant, quelle tristesse, il ne manque vraiment pas grand chose !
Normalement j’ai les commandes pour ouvrir les portes et portail, donc j’ai à peu près ce qu’il me faut si je fais fonctionner ce qui merde encore.
Soit par une URL, soit par Dahua_VTO.
Comment utiliser les commandes données par Dahua_VTO ?
Via Outils de développement / Commandes, j’arrive à ouvrir le portail / portillon. Mais changer le volume ou autre je n’y arrive pas. Je n’arrive pas non plus à lancer des commandes et récupérer le résultat ! Genre, la liste des fonctions supportées.

