Commandes PTZ camera générique

Bonjour,

J’ai intégré à configuration.yaml une camera généric. Celle ci a des commandes PTZ (haut bas droite gauche Pre 1 Pre 2)

J’ai besoin d’un automatisme recurrent qui l’a ramene en pre1 toutes les 15 s.

question 1 comment j’intégre ces commandes PTZ dois-je passer par configuration.yaml ?

Salut,

Certaines caméras le faut automatiquement c’est sans doute à privilégier parce que sinon dans ton cas, pas de HA = pas de mouvement…

Sinon j’ai partagé ici les commandes PTZ, y compris les presetX et zoom, manifestement, tu as raté les bons mots clés dans la recherche :
https://forum.hacf.fr/t/echanges-sur-frigate/6014/2

Dernier point… A mon avis 15 secondes, c’est trop court… Pour peu que tes 2 points soient à l’opposé l’un de l’autre, tu vas prendre facile 3 secondes pour faire le mouvement + le temps que le focus se réajuste encore 1 ou 2 de plus. Et il faut aussi prendre compte que pendant le trajet, la vidéo est inexploitable . A mon avis il va pas rester beaucoup à visualiser sur la vidéo.
Bref à tester…

hello pulpy

J’ai vu ces posts mais pour moi je partais dans l’optique que cela marcherait pas pour mes cams.

car dans mon autre systeme je créais un bouton et rentrer par exemple cette commande :

« /cgi-bin/editpreset.cgi?opType=goto&edit_index=0 »

Est ce mon raisonnant est pas le bon …

quant au 15 s c’est parfait sur l’autre systeme

Le mieux c’est d’essayer :

Parce que du coup ça c’est pas générique

j’ai intégré cette caméra de cette maniere dans configuration.yaml :

# Cam Est
camera:
  - platform: generic
    still_image_url: http://192.168.0.90:80/cgi-bin/net_jpeg.cgi?ch=1
    stream_source : rtsp://192.168.0.90:554/ch0:0.h264
    name : Ext Est

Je dois integrer les PTZ que je souhaite à la suite ?

Ou dans un autre fichier ?

Et

Sont deux integrations différentes.

Commente tes lignes et ajoute la caméra en passant par l’intégration Onvif.

Et si tu n’y arrives pas, la commande ressemble à une requête donc tu pourrais en dernier recours utiliser l’intégration rest_command

Par l’intégration onvif cela ne passe pas.

J’ai essayé les recommandation sur ce forum

puis ce qui fonctionne sous VLC et synology.

Il n’y a que l’intégration par configuration.yaml qui marche (je parle du flux video).

j’ai donc essayé d’intégrer l’option à mon fichier :

# Cam Est
camera:
  - platform: generic
    still_image_url: http://192.168.0.90:80/cgi-bin/net_jpeg.cgi?ch=1
    stream_source : rtsp://192.168.0.90:554/ch0:0.h264
    name : Ext Est
    tilt up: http://192.168.0.90/cgi-bin/cmd.cgi?opType=set&cmd=ptz&ptz_cmd=2

avec tilt up, tiltup, ou tilt_up.
Mais les 3 me donnent une erreur

En même temps, ça ne fait pas partie des fonctions disponibles … donc pas étonnant

Donc il ne te reste plus que la dernière option de @Clemalex : rest_command ou un curl dans un switch

j’ai rentré mes commandes PTZ de cette manière :

#PTZ camera Ext
rest_command:
  cam est up:
    url: http://192.168.0.90/cgi-bin/cmd.cgi?opType=set&cmd=ptz&ptz_cmd=2
  cam est down:
    url: http://192.168.0.90/cgi-bin/cmd.cgi?opType=set&cmd=ptz&ptz_cmd=1
  cam est right:
    url: http://192.168.0.90/cgi-bin/cmd.cgi?opType=set&cmd=ptz&ptz_cmd=3
  cam est Left:
    url: http://192.168.0.90/cgi-bin/cmd.cgi?opType=set&cmd=ptz&ptz_cmd=4
  cam est Pos1:
    url: http://192.168.0.90/cgi-bin/editpreset.cgi?opType=goto&edit_index=0
  cam est Pos2:
    url: http://192.168.0.90/cgi-bin/editpreset.cgi?opType=goto&edit_index=1
  cam est Pos3:
    url: http://192.168.0.90/cgi-bin/editpreset.cgi?opType=goto&edit_index=2

je ne sais pas si la synthaxe est bonne car je les vois pas quand je veux crée le bouton.

Mais HA l’accepte

C’est quand même pas propre comme syntaxe. Pourquoi tu ne te bases pas sur l’exemple ? Tous les caractères ont un sens.

rest_command:
  example_request:
    url: "http://example.com/"

Ensuite rest_command, ça ne créer pas un bouton mais un service…

J’ai fait mon intégration comme cela, j’aurais bien séparé la camera et le portail mais cela ne passait pas.

#Rest command
rest_command:
  portail:
    url: http://192.168.0.111/?11OFF
  camestup:
    url: http://192.168.0.90/cgi-bin/cmd.cgi?opType=set&cmd=ptz&ptz_cmd=2
  camestdown:
    url: http://192.168.0.90/cgi-bin/cmd.cgi?opType=set&cmd=ptz&ptz_cmd=1
  camestright:
    url: http://192.168.0.90/cgi-bin/cmd.cgi?opType=set&cmd=ptz&ptz_cmd=3
  camestleft:
    url: http://192.168.0.90/cgi-bin/cmd.cgi?opType=set&cmd=ptz&ptz_cmd=4
  camestpos1:
    url: http://192.168.0.90/cgi-bin/editpreset.cgi?opType=goto&edit_index=0
  camestpos2:
    url: http://192.168.0.90/cgi-bin/editpreset.cgi?opType=goto&edit_index=1
  camestpos3:
    url: http://192.168.0.90/cgi-bin/editpreset.cgi?opType=goto&edit_index=2

Il me reste à faire mon automatisation récurrente toutes les 20 s en position 1
Et l’intégration à lovelace

Syntaxiquement c’est meilleur, les espaces dans les nom des commandes, c’est pas une bonne idée. Perso j’aurai aussi gardé les " de début et de fin, mais HA est pas vraiment contraignant là dessus.

C’est juste pas possible toutes les commandes rest_command doivent être définie en dessous de ce bloc…

1 et 2 séparée de 15 secondes… que 1 ça va pas donner grand chose

De bouton qui appellent les presets, comme le portail ou la carte que je t’ai indiqué en adaptant le service

La camera à la bougeotte je veux juste la garder en pos1 toutes les 20 s pour surveiller le portail;

c’est le bon compromis dans mon ancien systeme

l’automatisme fonctionne

Le stream sur la carte que tu as faite pulpy fonctionne mais j’ai du mal a intégrer les boutons :

type: picture-glance
title: Cam Est
image: https://demo.home-assistant.io/stub_config/kitchen.png
entities:
  - entity: camera.ext_est
camera_image: camera.ext_est
  tap_action:
      action: call-service
      service: camestleft
  name: Pan Left
  show_state: false
  icon: mdi:arrow-left
  show_icon: true

ça c’est pas dans mon exemple… et l’indentation n’est pas bonne…

Corrige ce que @Pulpy-Luke t’indique… :innocent:

Ensuite,

Va faire un tour dans les Outils de développement → Onglet SERVICES et tu récupères le nom complet du service… (avec l’intégration …)

Ce qui va donc donner :

type: picture-glance
title: Cam Est
image: https://demo.home-assistant.io/stub_config/kitchen.png
entities:
  - entity: camera.ext_est
camera_image: camera.ext_est
  tap_action:
      action: call-service
      service: rest_command.camestleft #<-- ici
  name: Pan Left
  show_state: false
  icon: mdi:arrow-left
  show_icon: true

Un petit coup de recherche t’aurais apporté quelques exemples intéressants pour ne pas tomber dans ces erreurs de syntaxes…

@Pulpy-Luke et moi te donnons les mots clés utiles à une recherche pour approfondir les recherches…

Il faut prendre l’habitude d’aller voir ce que les autres ont fait pour voir comment ils l’ont fais et ce qui fonctionne (et aussi ce qui ne fonctionne pas)… :innocent:

2 « J'aime »

Merci @clemalex, j’avais même pas vu l’appel du service !
Je partage l’avis ci-dessus : Le yaml c’est très strict, c’est pas possible de prendre 2 trucs dans un coin et faire un copié collé, ça bloquera dans 99% des cas. Il faut comprendre les indentations, les listes etc…
Et la nomenclature HA ne s’invente pas non plus.

Et de notre coté, tester les morceaux de codes, c’est pas si simple si on n’a pas les entités qui vont bien

L’add-on VisualStudio est vraiment utile dans ton cas (en plus d’un peu de lecture) ! ça vaut le coup de passer un peu de temps à l’installer

2 « J'aime »

Merci j’ai reussi à me depatouiller c’est bon voici le code :

type: picture-glance
title: Cam Est
image: https://demo.home-assistant.io/stub_config/kitchen.png
camera_image: camera.ext_est
entities:
  - entity: camera.ext_est
    tap_action:
      action: call-service
      service: rest_command.camestleft
    name: Pan Left
    show_state: false
    icon: mdi:arrow-left
    show_icon: true
  - entity: camera.ext_est
    tap_action:
      action: call-service
      service: rest_command.camestup
    name: Pan up
    show_state: false
    icon: mdi:arrow-up
    show_icon: true
  - entity: camera.ext_est
    tap_action:
      action: call-service
      service: rest_command.camestdown
    name: Pan down
    show_state: false
    icon: mdi:arrow-down
    show_icon: true
  - entity: camera.ext_est
    tap_action:
      action: call-service
      service: rest_command.camestright
    name: Pan right
    show_state: false
    icon: mdi:arrow-right
    show_icon: true
  - entity: camera.ext_est
    tap_action:
      action: call-service
      service: rest_command.camestpos1
    name: Pan 1
    show_state: false
    icon: mdi:numeric-1-box
    show_icon: true
  - entity: camera.ext_est
    tap_action:
      action: call-service
      service: rest_command.camestpos2
    name: Pan 2
    show_state: false
    icon: mdi:numeric-2-box
    show_icon: true
  - entity: camera.ext_est
    tap_action:
      action: call-service
      service: rest_command.camestpos3
    name: Pan 3
    show_state: false
    icon: mdi:numeric-3-box
    show_icon: true

J’ai lu les sujets que vous m’avez transmis mais aussi d’autres ailleurs.

Pour visualstudio c’etait une de mes questions.

Merci encore

Bonjour

ce sujet date pas mal mais je suis en train de rechercher à faire un balaygage automatique avec mes caméra.

Grace au différents exemple et doc j’ai reussi à mettre toutes les commande sur ma caméras, (gauche droite haut bas) ainsi que les preselections, avez vous une sollution pour faire naviguer la caméra de la position 1 à la 2 utomatiquement ?

Merci d’avance.

Voici le code :


type: picture-glance
title: Poules
entities:
  - entity: camera.camera_poules_mainstreamprofile
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.camera_poules_mainstreamprofile
        pan: LEFT
        speed: 0.1
        distance: 0.1
        move_mode: ContinuousMove
    name: Pan Left
    show_state: false
    icon: mdi:arrow-left
    show_icon: true
  - entity: camera.camera_poules_mainstreamprofile
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.camera_poules_mainstreamprofile
        tilt: UP
        speed: 0.1
        distance: 0.1
        move_mode: ContinuousMove
    name: Pan Up
    show_state: false
    icon: mdi:arrow-up
    show_icon: true
  - entity: camera.camera_poules_mainstreamprofile
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.camera_poules_mainstreamprofile
        tilt: DOWN
        speed: 0.1
        distance: 0.1
        move_mode: ContinuousMove
    name: Pan Down
    show_state: false
    icon: mdi:arrow-down
    show_icon: true
  - entity: camera.camera_poules_mainstreamprofile
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.camera_poules_mainstreamprofile
        pan: RIGHT
        speed: 0.1
        distance: 0.1
        move_mode: ContinuousMove
    name: Pan Right
    show_state: false
    icon: mdi:arrow-right
    show_icon: true
  - entity: camera.camera_poules_mainstreamprofile
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.camera_poules_mainstreamprofile
        preset: Preset001
        speed: 0.1
        distance: 0.1
        move_mode: GotoPreset
    name: Preset 1
    show_state: false
    icon: mdi:numeric-1-box
    show_icon: true
  - entity: camera.camera_poules_mainstreamprofile
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.camera_poules_mainstreamprofile
        preset: Preset002
        speed: 0.1
        distance: 0.1
        move_mode: GotoPreset
    name: Preset 2
    show_state: false
    icon: mdi:numeric-2-box
    show_icon: true
  - entity: camera.camera_poules_mainstreamprofile
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.camera_poules_mainstreamprofile
        preset: Preset003
        speed: 0.1
        distance: 0.1
        move_mode: GotoPreset
    name: Preset 3
    show_state: false
    icon: mdi:numeric-3-box
    show_icon: true
camera_image: camera.camera_poules_mainstreamprofile
camera_view: live
aspect_ratio: '4:3'

Bonjour,

Je me repond à moi même si ça peu servire à certain,
j’ai réussi en créant deux automatismes, 1 par position, ces automatismes sont déclenché toutes les 10 seconde avec 10 secondes de décalage.

service: onvif.ptz
data:
  distance: 0.1
  speed: 0.5
  move_mode: GotoPreset
  preset: Preset001
target:
  device_id:
    - fd3f5aca484648eb38806a3dae1e6fff
    - 71c6fa96e71e49bfa5172f7386c87876

et pour la position 2 :

service: onvif.ptz
data:
  distance: 0.1
  speed: 0.5
  move_mode: GotoPreset
  preset: Preset002
target:
  device_id:
    - fd3f5aca484648eb38806a3dae1e6fff
    - 71c6fa96e71e49bfa5172f7386c87876