IPX V5 <=> Caméras AXIS : Pushs dans les 2 sens et streaming

Bonjour,

Je fais ici un partage d’expérience sur le déploiement de caméras Axis avec l’ IPX V5 . Je ne suis pas expert, alors si je peux permettre à d’autres de gagner du temps sur quelques astuces, autant que cela serve.

:right_arrow: J’utilise des caméras Axis tournant sur l’OS 12.5.68, en intérieur et extérieur (les modèles importent peu)

ces caméras sont en général inabordables, mais sur une occasion de prix il faut vraiment foncer, la précision de détection (AI), l’OS, tout le soft, l’API et les fonctionnalités sont vraiment très poussés, stables et fluides comparé à ce que j’ai pu voir avant… elle permettent aussi de faire l’économie de capteurs de mouvements ou de détecteurs extérieurs. Les fonctionnalités embarquées et la puissance du soft permettent également de s’affranchir sans problème d’un NVR (enregistrement cloud et envois a distance faciles a mettre en place dans les caméras, pour sécuriser un peu plus l’enregistrement des carte SD)

j’avais la possibilité de cabler les 4 brins qui permettent de fonctionner avec des e/s filaire sur les caméra, mais je préférais éviter d’y avoir recours pour réduire le cablage et le hardware IPX

Contexte : résidence secondaire peu occupée, et pas forcément occupée par moi

Objectif :one: :

  • enclencher automatiquement les enregistrement vidéos sur mouvement et les envois de photos par mail lorsque la maison est inoccupée
  • arréter automatiquement les enregistrements et les envois de mails lorsque la maison est occupée (sinon je suis spammé)

Objectif :two: :

  • profiter de la détection très fine des caméras (reconnaissance humaine) pour déclencher des éclairages extérieurs la nuit, lorsque la maison est occupée

Objectif :three: :

  • profiter de la détection des caméras pour déclencher des éclairages intérieurs et extérieurs la nuit, pour simuler un pattern de présence, lorsque la maison est inoccupée
  • déclencher une pré-alarme (extérieur) et/ou une alarme (intérieur) et des alertes lorsque la maison est inoccupée

Objectif :four: :

  • éventuellement intégrer les flux video dans les dashboards de l’IPX

:next_track_button: Bilan… tout fonctionne à merveille

:one:

Le tableau électrique rénové est équipé d’un bouton vert (arrivé) et d’un bouton rouge (départ) qui permet de mettre la maison en mode présence ou absence (gestion eau chaude, chauffage, etc)

L’appui sur le bouton rouge (départ) envoie un push vers les caméra pour activer une entrée virtuelle (numéro 1 = “port 1” dans les caméra) : cette entrée virtuelle fait partie des conditions de réalisation des évènements d’enregistrement et d’envois de mails.
L’appui sur le bouton vert (arrivée) envoie un push qui désactive cette entrée virtuelle, pour chaque caméra, ce qui bloque l’une des conditions d’enregistrement et d’envoi de mails par les caméras

Push envoyé par l’IPX V5 :

pour une raison que j’ignore, le push ne fonctionnait pas en http sur le port 80 depuis l’IPX (alors que ce meme push fonctionne depuis un browser en http sans aucune ambigutié, et que les caméras sont bien paramétrées pour fonctionner en http et https sur les ports 80 et 443)

Les URI complets pour activer/désactiver l’entrée virtuelle 1 (“port 1”) de chaque caméra sont respectivement:

/axis-cgi/virtualinput/activate.cgi?schemaversion=1&port=1
/axis-cgi/virtualinput/deactivate.cgi?schemaversion=1&port=1

Ce qui permet de rédiger ensuite des règles conditionnées par cette entrée virtuelle “1” :


le destinataire du mail étant défini dans une autre fenêtre de la caméra, avec la définition simple classique du serveur smtp (en l’occurence celui de la box pour faciliter les choses, avec une adresse mail créée pour l’occasion avec le nom de domaine de la box)

:right_arrow: quand la maison est inoccupée, j’ai des alertes photos par mail (et sms XGSM) que je peux approfondir par des enregistrements stockés sur les caméras (je ferai du stockage cloud plus tard)
:right_arrow: quand la maison est occupée, je n’ai aucune alerte et il n’y a aucun enregistrement… et les occupants peuvent également débrancher des caméras en un endroit précis si souhaité

pour les sms XGSM, j’ai besoin d’un push PUT de la caméra comme pour le déclenchement des éclairage extérieurs la nuit… cf point suivant « 2 »

PS:
Il est facile de confirmer l’activation de la variable activée (ou d’alerter de sa désactivation) par l’envoi d’un mail par exemple


:two:
Sur l’IPX, j’ai une variable virtuelle « Il fait jour » (activée par la variable OpenWeather +21h30 pour le lever de soleil et +22h30 pour le coucher de soleil, compte tenu du bug actuel de 2h de décalage). Lorsque cette variable n’est pas activée, une tempo activée par un Push PUT de caméra vient, en cas de détection par une caméra, déclencher un éclairage extérieur
Avantage: plus besoin d’avoir recours aux habituels petits capteurs infrarouge peu fiables lorsque l’on revient la nuit… les caméras détectent sans problème à plus de 20 mètres un mouvement humain et allument la lumière extérieure.

Ci-après la définition du Destinataire du Push et de la Règle de déclenchement du Push dans l’une des caméras


L’ID « 65671 » est celui de l’ID d’une tempo de l’IPX. Il est nécessaire de tout écrire dans le champ URL (sinon il y a un « ? » qui est inséré au mauvais endroit par rapport à l’API key de l’IPX - pour info l’API d’Axis n’utilise pas d’API key à priori, le pb vient peut-être de là)


Cette syntaxe fonctionne (avec « on » en minuscules)

:right_arrow: Plus besoin de détecteurs extérieurs pour l’éclairage, voire même pour une alarme, la qualité et la portée de détection (règlable par zone ou par franchissement) sont bien meilleures pour déclencher des actions coté IPX

:three:
Toutes les autres actions sont basées sur le même principe, avec différentes tempo en destinataire dans l’IPX, selon les caméras et les zones et/ou types de détection de chaque caméra, ce qui permet de déclencher des actions spécifiques au niveau de L’IPX.
D’autres entrées virtuelles peuvent également être utilisées dans l’autre sens pour gérer d’autres natures d’événements au cas par cas dans chaque caméra

:four:
Pour ce qui est du flux video dans le widget « caméra » du dashboard de la V5, voici ce que j’ai saisi:


sans aucun paramétrage particulier dans la caméra (paramètres par défaut), le flux mjpg est disponible, mais il est indispensable de passer par l’IP et le port externes de la box et de placer le user et password en fin d’url (avec les éventuels compléments définissant la vue ou la résolution de la caméra,… longue doc Axis dispo en ligne et facile à googler) :
?aaaaaa&user=XXXX&pwd=XXXXX

Des snapshots sont possibles également dans le widget :

http://IP:Port/jpg/image.jpg
http://IP:Port/axis-cgi/jpg/image.cgi

:chequered_flag:
:folded_hands: :folded_hands: :folded_hands: un grand merci pour le coup de main de @fgtoul sur plusieurs de mes tâtonnements, ainsi qu’à @grocrabe… et puis en prenant le temps et avec du recul, tant qu’il y a du bon matos, on finit toujours par trouver une bonne voie !

bon courage aux suivants :wink:

4 « J'aime »