Automatisation

Reliez les événements de détection de vos caméras aux notifications, aux annonces et à la maison connectée. Une règle = déclencheur + condition + action.

Qu'est-ce qu'une règle d'automatisation

Une règle = déclencheur (quel événement la réveille) + condition (si l'environnement actuel remplit les critères) + action (que faire). Exemple : « un inconnu est reconnu à la porte d'entrée, et il fait actuellement nuit → notification push sur mon téléphone + annonce vocale sur la caméra du salon ».

Web Admin → Automatisation → Nouvelle règle. 13 modèles prédéfinis sont intégrés (visite d'un inconnu, accueil d'un visage connu, alerte de chute, chute + lumière HA, rappel de pleurs de bébé, alerte SOS par geste, scène déclenchée par geste, appareil HA à l'arrivée d'un véhicule, désarmement automatique HA au départ, webhook de flânerie, etc.) ; choisissez-en un, ajustez les paramètres, et c'est prêt ; ou partez d'une règle vierge.

Déclencheur : quel événement réveille la règle

L'automatisation n'est déclenchée que par des événements de détection des caméras — il n'existe ni déclencheur « planifié / cron » ni déclencheur « message MQTT reçu ». Le déclencheur comporte deux niveaux : le type d'événement + le filtre de sujet.

Type d'événement

  • Mouvement, objets (personne / véhicule / chat / chien, etc.)
  • Reconnaissance faciale, reconnaissance de plaque d'immatriculation
  • Chute, pleurs de bébé, geste
  • Entrée dans une zone / sortie de zone / zone vide / flânerie
  • Changement de luminosité de l'image

Filtre de sujet

En plus du type d'événement, choisissez « qui » :

  • Tous — aucun filtre sur le sujet
  • Personne — toute personne / famille uniquement / inconnus uniquement (pour la famille, vous pouvez aussi préciser un nom)
  • Véhicule — tout véhicule / une plaque d'immatriculation précise
  • Geste — un geste précis (par ex. SOS, OK, cœur)

Vous pouvez également restreindre : l'ensemble des caméras déclenchantes, la plage de zones sensibles, une confiance minimale, et un délai de rappel / de limitation (pour éviter des déclenchements répétés sur une courte période).

Condition : revérifier l'environnement après le réveil

Une fois la règle réveillée par un événement et avant l'exécution de l'action, vous pouvez ajouter des conditions supplémentaires (plusieurs conditions sont combinées par ET logique, toutes doivent être vraies pour exécuter). Il en existe actuellement deux :

  • Plage horaire — de HH:MM à HH:MM chaque jour + restreinte à certains jours de la semaine, avec prise en charge du passage de minuit et de la négation (« ne pas déranger pendant les heures de travail »). Notez qu'il s'agit d'une plage horaire, pas d'une expression cron.
  • Luminosité de l'image — ne passe que lorsque l'image est « sombre » ou « claire ». Usage typique : « quelqu'un entre + il fait sombre actuellement » avant d'allumer une lumière.
Le temps est une « condition », pas un « déclencheur » — une règle est toujours réveillée d'abord par un événement de détection, puis vérifiée par rapport à la plage horaire. Ainsi, une tâche purement planifiée comme « faire quelque chose automatiquement tous les jours à 22h00 » n'est pas réalisable avec l'automatisation (sans événement caméra correspondant, rien ne se déclenche).

Action : ce que fait la règle

Une règle peut comporter plusieurs actions, exécutées dans l'ordre. Il en existe 5 types :

ActionDescription
Notification pushEnvoyée à l'application mobile + au Web Admin (pas d'e-mail / SMS)
Annonce vocale (TTS)Voix synthétisée, diffusée via le haut-parleur de la caméra
WebhookUne requête HTTP vers n'importe quelle URL (connecter un bot Feishu/Lark / IFTTT / votre propre service)
Publication MQTTPublie un message sur un broker MQTT
Appel de service Home AssistantAppelle directement HA : allumer une lumière / basculer un interrupteur / exécuter une scène ; voir 〈Home Assistant〉 ci-dessous

Variables de texte

Vous pouvez utiliser {{variable}} dans le texte de notification, le texte TTS, le corps du webhook, la charge utile MQTT et les paramètres HA ; SkyView substitue les valeurs réelles de l'événement au moment de l'exécution. Variables courantes :

VariableSignification
{{camera_name}}Le nom de la caméra qui a déclenché l'événement
{{event_type}}Type d'événement (personne / chute / geste …)
{{face_name}}Le nom de la personne reconnue (événements de visage)
{{zone_name}}Le nom de la zone sensible déclenchée
{{gesture_label}}Le geste reconnu (événements de geste)
{{event_time_iso}}Le moment où l'événement s'est produit
{{confidence}}Niveau de confiance de la reconnaissance
Il faut impérativement des doubles accolades {{camera_name}}. Des accolades simples {camera} ou un nom incorrect (par ex. {name}) ne seront pas substitués et apparaîtront tels quels dans le texte.

Annonce vocale (TTS)

SkyView intègre la synthèse vocale ; l'ensemble du processus s'exécute au sein de SkyView et ne dépend d'aucun service externe.

  1. 1

    Choisir une voix

    6 voix chinoises : Xiaoxiao / Yunxi / Yunyang / Xiaoyi / Yunjian / Xiaobei (dialecte du Nord-Est), avec débit et hauteur réglables ; vous pouvez les prévisualiser directement dans le navigateur pendant l'édition d'une règle.

  2. 2

    Rédiger le texte

    Prend en charge {{variable}} (voir la section précédente), par ex. « {{camera_name}} a reconnu {{face_name}} ».

  3. 3

    Choisir la caméra cible

    La caméra qui diffuse l'annonce n'a pas besoin d'être celle qui a déclenché l'événement (la porte d'entrée détecte une personne, et la caméra du salon peut faire l'annonce) ; la caméra cible doit prendre en charge le canal de retour ONVIF.

  4. 4

    Tester

    Après l'enregistrement, cliquez sur « Tester » sur la règle pour l'exécuter une fois et voir le résultat.

Protection contre les collisions

Si quelqu'un est en train de parler via le bouton de conversation, l'annonce TTS de l'automatisation est purement et simplement abandonnée et n'interrompt pas la personne réelle.

Exemple de webhook

Envoyer à un bot Feishu/Lark : choisissez l'action Webhook, définissez l'URL sur l'adresse du webhook du bot Feishu, et remplissez le modèle de corps de requête :

json
{"msg_type":"text","content":{"text":"{{camera_name}} a détecté {{event_type}}"}}

SkyView substitue {{camera_name}}, {{event_type}}, etc. par les valeurs réelles avant l'envoi.

Home Assistant

SkyView et Home Assistant disposent de deux méthodes d'intégration, indépendantes l'une de l'autre — utilisez-en une seule, ou les deux.

Méthode 1 : SkyView contrôle HA directement (recommandé)

Faites en sorte que SkyView allume une lumière / bascule un interrupteur / déclenche une scène directement après la détection d'un événement. Aucun MQTT requis.

  1. 1

    Générer un jeton d'accès longue durée dans HA

    Home Assistant → cliquez sur votre nom d'utilisateur en bas à gauche → Sécurité → Jetons d'accès longue durée → Créer, puis copiez ce jeton.

  2. 2

    Renseigner la connexion HA dans SkyView

    Web Admin → Paramètres → Automatisation → le panneau « Home Assistant », renseignez l'adresse HA (par ex. http://homeassistant.local:8123) et le jeton que vous venez de créer, puis enregistrez.

  3. 3

    Ajouter une action « Appel de service Home Assistant » à la règle

    SkyView récupère automatiquement les listes d'entités et de services depuis HA, vous choisissez donc dans un menu déroulant (par ex. « allumer la lumière du salon » = light.turn_on + l'entité lumineuse correspondante) sans avoir à saisir manuellement l'entity_id.

Méthode 2 : SkyView comme capteur dans HA (MQTT)

Si vous voulez l'inverse — voir les capteurs d'occupation de zone de SkyView dans HA et écrire des automatisations côté HA — passez par la découverte MQTT.

  1. 1

    Installer Mosquitto dans HA

    HA → Paramètres → Modules complémentaires → Mosquitto broker, installez avec les valeurs par défaut, et notez le nom d'utilisateur et le mot de passe.

  2. 2

    Configurer MQTT dans SkyView

    Web Admin → Paramètres → Automatisation → le panneau « MQTT », renseignez l'adresse du broker / le port / le nom d'utilisateur / le mot de passe, puis activez-le.

  3. 3

    Enregistrement automatique

    SkyView enregistre le statut d'occupation de chaque zone sensible en tant que binary_sensor dans HA, visible immédiatement côté HA.

Pour que SkyView contrôle HA (allumer les lumières, etc.) → Méthode 1 ; pour que HA utilise les capteurs de SkyView → Méthode 2. La méthode 1 suffit pour la plupart des gens, et elle est plus simple.
Automatisation - Docs SkyView